Está en la página 1de 64

y Diseno

de Controladores
Construccion
de un Pendulo Invertido Rotante
Mallo
Sebastian
Virginia Mazzone
Director: Ing. Roberto Saco

Pendulo Invertido Rotante

Proyecto Fin de Carrera


y Control Industrial
Ing. Automatizacion
Departamento de Ciencia y Tecnologa
Universidad Nacional de Quilmes
11 de febrero de 2003

Este informe describe el proyecto de fin de carrera Construccion


no de Controladores
y Dise
Mallo y Virginia Mazzone, para la
de un Pendulo
Invertido Rotante, realizado por Sebastian

carrera Ingeniera en Automatizacion


y Control Industrial dependiente del Departamento de
Ciencia y Tecnologa de la Universidad Nacional de Quilmes. Este proyecto fue realizado
del profesor Ing. Roberto Saco.
bajo la supervision
El informe fue tipeado en LATEX y pdfLATEX usando la clase book con los paquetes babel(spanish) y hyperref. La familia de fuentes utilizada es bookman para texto, y

mathpple para matematica.


Florencio Varela, 11 de febrero de 2003.

Resumen
de un pendulo
Este informe sintetiza la construccion
invertido rotante y su posterior con
trol a traves de una PC. Utilizamos como actuador un motor de corriente continua y

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
de diversos controladores: control en cascada y control por realimentacion
al diseno
de
de los controladores disenados,

estados. Para verificar el desempeno


simulamos el modelo
no lineal obtenido en S IMULINK junto con los controles.
de estado, fue necesario disenar

Para poder implementar el control por realimentacion


un observador para estimar aquellas variables de estado que no podemos medir. Una

deseado, salvo al pretender que el


vez disenado
el observador, obtuvimos el desempeno
del control en casbrazo siga referencias constantes. Por otro lado, la implementacion
cada fue inmediata ya que solo necesitamos las mediciones que tenemos. Para concluir,

de estado, accion
disenamos
una variante robusta del control en realimentacion
integral,
solucionamos el problema de seguimiento de referencias, la implementamos saademas

tisfactoriamente, obteniendo as el mejor desempeno.


la realizamos utilizando una placa de adquisicion
de datos junto
La implementacion
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
del Problema y Objetivos . . . . . . . . . . . . . . . . . . . . . . . vii
0.1 Formulacion
0.2 Contenido del Informe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
del Sistema
1 Descripcion
1.1 Controlador . . . . . . . . . . . . . . . . . . . . . .
y Control . . . .
1.1.1 Programa de Simulacion
de datos . . . . . . . . . . . . .
1.1.2 Adquisicion
1.2 Actuador . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Limitaciones debidas al Actuador (Motor) .
1.3 Sensores . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Limitaciones debidas a Sensores . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

1
2
2
2
3
4
5
5

Matematica del Sistema


2 Modelizacion
2.1 Ecuaciones de movimiento del pendulo invertido
2.1.1 Ecuaciones de Euler-Lagrange . . . . . . .

2.2 Modelo Matematico


de un Motor de CC . . . . . .
en Modelo de Estado . . . . . . .
2.3 Representacion
del Sistema . . . . . . . . . . . . .
2.4 Linealizacion
Entrada-Salida . . . . . . . . . .
2.5 Representacion
del Modelo . . . . . . . . . . . . . .
2.6 Simplificacion

2.7 Ajuste de los Parametros


en forma Aproximada .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

7
7
7
10
11
11
13
14
14

de Controladores y Simulacion

3 Diseno
3.1 Control en Cascada . . . . . . . . . . . . . . . . .
de K2 (s) por Asignacion
de Polos .
3.1.1 Diseno
de K1 (s) . . . . . . . . . . . . . . . .
3.1.2 Diseno

3.1.3 Simulacion
. . . . . . . . . . . . . . . . . .
de Estado . . . . . .
3.2 Control por Realimentacion
de la Matriz K . . . . . . . . . . . .
3.2.1 Diseno
Integral . .
3.2.2 Seguimiento Robusto: Accion
3.2.3 Estimadores de las variables de Estado no
3.2.4 Observador de las variables de Estado . .

3.2.5 Simulacion
. . . . . . . . . . . . . . . . . .

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Medidos
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

17
17
18
22
23
26
26
27
29
29
31

4 Ensayos de Controladores sobre el Sistema Real


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

Indice General

vi

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


43
en la cuantificacion
del Actuador y de los Sensores . . . . . . . . 43
5.1 Disminucion
5.2 Mejoras fsicas del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6 Conclusiones
detallada de los componentes del
A Descripcion
A.1 Controlador . . . . . . . . . . . . . . . . . . .
A.1.1 Especificaciones de la PC . . . . . . .
de Datos . . .
A.1.2 Placa de Adquisiscion
A.2 Actuador . . . . . . . . . . . . . . . . . . . .
A.3 Sensores . . . . . . . . . . . . . . . . . . . .
A.3.1 Encoder Incremental . . . . . . . . .
A.3.2 Sensor Magnetico . . . . . . . . . . .
Bibliografa

47
Sistema
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

49
49
49
49
50
52
52
53
55


Introduccion
de los conocimientos adquiridos a lo largo
El objetivo de este trabajo es la aplicacion
de controladores. Para ello elegimos
de la carrera, donde nos centramos en el diseno
como sistema un pendulo
invertido rotante. Muchas Universidades del mundo poseen

por la cual este


un pendulo invertido para demostrar resultados de control. La razon
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.

del Problema y Objetivos


0.1 Formulacion
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.

z
y

r
x

m, g

I, l

Figura 1: Diagrama del pendulo invertido rotante

Dado que nuestra Universidad no cuenta con un Pendulo


Invertido Rotante, por su alto

del mismo. Mientras


costo, nos propusimos como objetivo del trabajo, la construccion
de diseno
de los controladores que nos propusimos, es mantener la
que la especificacion
pendulo,
de una fuerza
barra, de ahora en mas
en forma vertical mediante la aplicacion

en el brazo. Este proceso se ve intuitivamente a traves del ejemplo de tratar de mantener


secundaria es controlar
una escoba en forma vertical con una mano. Una especificacion
determinada. Estos objetivos fueron alcanzados implementando
el brazo en una posicion
los controladores por medio de una PC.
de un sistema de control requiere de los siguientes pasos, segun

El proceso de diseno
[4]:
1. Estudiar el sistema a controlar y decidir que tipo de sensores y actuadores utilizar y

donde
ubicarlos.
2. Modelar el sistema resultante a controlar.


Introduccion

viii
facil.

3. Simplificar el modelo si es necesario para hacerlo mas

4. Analizar el modelo resultante, determinar sus parametros.

5. Decidir las especificaciones de desempeno.


6. Decidir el tipo de control a utilizar.

un controlador que alcance las especificaciones, si es posible, si no, modifi7. Disenar


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.

al laboratorio de la
Por ultimo,
queremos agregar que este proyecto es una contribucion
carrera para que otros alumnos puedan seguir profundizando conocimientos y aplicarlos
en un sistema real. En realidad este fue nuestro primer objetivo y estamos orgullos de

haber podido devolver de alguna manera todo lo que recibimos durante estos anos.

Captulo 1

del Sistema
Descripcion

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


En la introduccion
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 es necesaria y suficiente.
cion
es de gran utilidad contar con programas que nos permita simuEn la etapa de diseno

lar de forma sencilla sistemas dinamicos


en una PC. Estos programas nos proporcionan
y analisis

un ambiente flexible de trabajo a la hora del diseno


del funcionamiento de distintos 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
que queramos realizar sobre el controlador
con el sistema real. Cualquier modificacion
implica tener que grabar nuevamente el programa en la memoria del microprocesador o
en la cual se realizan muchas modificaciones esto resulta
PLC, y en una etapa de diseno
nuestra idea fue implementar el control a traves de una PC.
engorroso. Por dicha razon,
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

utilizados, el bloque Actuador


El bloque Sensores representa los sistemas de medicion

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.

del Sistema
Descripcion

1.1

Controlador

del controlador la realizamos a traves de una PC, la cual cuenta con


La implementacion
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
e implementacion
de los controladores en la PC son el Real Time Workshop,
simulacion
Real Time Windows Target [9], M ATLAB y S IMULINK. En el diagrama en bloques de la
del controlador.
Figura 1.2 se sintetiza la implementacion

Sensores

Placa de
Adquisicion de Datos

- Actuador

6
?

Driver
6
?

Programa de
Simulacion y
Control

CONTROLADOR
Figura 1.2: Diagrama de bloques del Controlador

1.1.1

y Control
Programa de Simulacion

del control es el S IMU El programa utilizado para las simulaciones y la implementacion


y analisis

LINK . S IMULINK es un paquete de programas para modelado, simulacion


de

sistemas dinamicos.
Soporta sistemas lineales y no lineales, modelados en tiempo continuo, discreto o un hbrido de ambos. Las simulaciones son interactivas, es decir, se

pueden cambiar parametros


on-line e inmediatamente ver que esta sucediendo. Para el
R Pa

analisis
de los sistemas se pueden utilizar las herramientas de analisis
de M ATLAB .
de los controladores se utilizaron tambien los programas Real Time
ra la implementacion
en tiempo
Workshop y Real Time Windows Target, los cuales nos permiten la ejecucion
real.

Real Time Workshop. Es un generador de codigo


en lenguaje C a partir de diagramas
construye programas capaces de ser ejecutados en
en bloques de S IMULINK. Ademas
tiempo real en una gran variedad de entornos, incluyendo dispositivos como microcontroladores, placas dedicadas o DSP.
Real Time Windows Target. Es un programa que permite ejecutar programas, compilados en lenguaje C a traves del Real Time Workshop, en una PC bajo sistema
operativo Windows en tiempo real.

1.1.2

de datos
Adquisicion

de Datos La placa adquisidora que utilizamos es una Interfaz


Placa de Adquisicion
Multiple
para PC de Electroqumica Delta S.R.L. para Slot ISA de PC. Si bien es una placa

1.2 Actuador

de bajo costo, cuenta con los requisitos que demanda nuestro proyecto, veamos algunas
de sus principales caractersticas:
8 entradas digitales.
8 salidas digitales.

de 8 bits.
8 entradas analogicas
de 0V a 5V o 0V a 5.12V con una resolucion

de 8 bits.
2 salidas analogicas
de 0 a 5V o 0V a 5.12V con una resolucion
esta placa con los distintos programas es a traves de
Driver La forma en la que interactua

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
citamos algunas de las caractersticas principales del motor de corriente
A continuacion
continua que, como mencionamos anteriormente, es quien proveera el movimiento del
brazo:
Sin escobillas.
nominal de alimentacion:
24V.
Tension
Consumo de corriente: 2A.
a engranajes, 1:130.
Reduccion:
En la Figura 1.3, mostramos el diagrama de bloques del Actuador.

Bloque
PC

Generador
PWM

Puente
H
-

On/Off

 

 

- Dir

Figura 1.3: Diagrama de bloques del Bloque motor

cuadrada, con tiempo


El Generador de PWM, es el encargado de generar una senal
de 0 a 5V proveniente de la placa de adquisicion
de datos.
activo proporcional a una senal
de direccion
proviene de una salida digital.
Mientras la senal
El Puente H es la etapa de potencia e inversor de marcha que alimenta al motor.

del Sistema
Descripcion

1.2.1

Limitaciones debidas al Actuador (Motor)

en control. En particular, consiLos actuadores son origen de limitaciones de desempeno


deraremos
mnima, y
restricciones en actuacion
maxima.

restricciones en actuacion
Estas restricciones pueden ser tanto en amplitud, como en velocidad.
Mnima
Restricciones de Actuacion
frecuente es la imposibilidad de efectuar actuaciones arbitrariamente peUna limitacion

mediante un dispositivo cuanquenas.


Un caso tpico es el de un controlador que actua
la realizamos a traves de una salida analogica

tizado. En nuestro caso la actuacion


de la
de 0-5V a traves de
placa adquisidora que, como podemos ver en A.1, entrega una tension

un conversor digital/analogico
de 8 bits. Por lo tanto tendremos solo 256 niveles distintos

de actuacion.
esta cuantizada, el mnimo error estatico

Cuando la actuacion
de seguimiento estara
del actuador en general no podra conseguirse error
limitado por el umbral de cuantizacion
mnima
nulo en regimen permanente. Otro caso en que existen limitaciones de actuacion
estatica (el actuador se

se origina en la existencia de elementos mecanicos


con friccion
pega).
Maxima

Restricciones de Actuacion

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

u(t)
umax

umax
u(t) = sat(u (t))) = u (t)

umin

si u (t) > umax ,


si umin u (t) umax ,
si u (t) > umin .

umin
umax

u (t)

umin

Figura 1.4: Saturacion


maxima

umax es 15V y la mnima umin es 15V, si bien la tension

La senal
de actuacion
ya que en las simulaciones
nominal del motor es 24V. Elegimos este valor de tension
en el regimen permanente rondaba los 2V. Si utilizamos como
previas el valor de tension
maxima

de la placa de adquisicion
de datos, la
tension
los 24V, debido a la discretizacion
24
es de 255
mnima actuacion
= 0.0941. Es decir, en el rango 2V tendremos 42 niveles de
distintas, en cambio, si tomamos como actuacion
maxima

actuacion
15V aumenta a 68.
la tension.
El problema
Con este razonamiento, una pregunta sera por que no bajar mas
el motor se mueve con menos velocidad, no teniendo
se presenta cuando, a menor tension,

la suficiente reaccion.

1.3 Sensores

1.3 Sensores

Como vimos anteriormente, las variables del sistema que debemos medir son el angulo
del

brazo y el angulo
del pendulo. En cada uno de los casos utilizamos metodos de medicion
diferentes, por lo tanto veamos a cada uno en forma separada.
detallada de los sensores la encontramos en A.3.
La descripcion

del Angulo
Medicion
del Brazo En este caso utilizamos un encoder incremental. Una de

es ilimitado.
las ventajas de este tipo de sensor de angulo,
es que el rango de medicion
Mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta

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.

del Angulo

Medicion
del Pendulo
El sensor que utilizamos es un sensor magnetico, estos
sensores usan la propiedad por la cual un material magnetico cambia su resistencia en
presencia de un campo magnetico.

1.3.1 Limitaciones debidas a Sensores


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

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
con un filtro pasabajos.
filtramos la senal
lo podemos ver en el encoder. Como podemos ver en
El problema de la cuantificacion
A.3, cada pulso entregado por el encoder representa un movimiento de 0.0012 radianes,
de angulo

lo que hace imposible medir una variacion


menor a ese valor.

del Sistema
Descripcion

de 0-5V correspondiente a una variaEl sensor del pendulo, nos entrega una tension
de angulo

cion
de 18o (ver A.3). Al ser el conversor de la placa adquisidora de 8 bits,
distintos. Por lo que la mnima variacion
de
este sensa solamente 256 niveles de tension
18o

angulo
que sensara sera 256 , en radianes 0.0024.

Captulo 2

Matematica

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

conocimiento del proceso, mejores son los resultados que obtendremos, ya que el diseno

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
de entradas y salidas del sistema [6].
partir de la observacion
del modelo matematico

En este captulo detallaremos la obtencion


del pendulo invertido rotatorio a partir de las leyes fsicas que lo gobiernan. Para obtener el modelo

matematico
utilizamos las ecuaciones de Euler-Lagrange, que proporcionan dos ecuaciones diferenciales ordinarias de segundo orden no lineales, las que escribimos como cuatro
funciones diferenciales de primer orden no lineales (ecuaciones de estado). Dado que el

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: estabilizar el pendulo
en forma vertical y controlar el angulo
del brazo.

2.1 Ecuaciones de movimiento del pendulo


invertido
eficientes de encontrar las ecuaciones de movimiento de un sisteUna de las formas mas

ma robotico
es aplicando las ecuaciones de Euler-Lagrange. En primer lugar calculamos
el Lagrangiano, que es la energa cinetica menos la energa potencial del sistema. Para
ello utilizaremos el diagrama simplificado de la Figura 2.1 . Las ecuaciones que describen el movimiento las encontramos calculando algunas derivadas del Lagrangiano e

y torque del motor).


igualandolas
a la fuerza aplicada (friccion

2.1.1 Ecuaciones de Euler-Lagrange


Para escribir las ecuaciones de Euler-Lagrange, necesitaremos calcular derivadas parciales del Lagrangiano, donde definimos el Lagrangiano L como

L(q(t), q (t)) =

Ecin
|{z}

Energa cinetica

E pot
|{z}

q(t) =

(t)
(t)

(2.1)

Energia potencial

con


q (t) =

(t)
(t)

vectorial estan
definidas como
Las ecuaciones de Euler-Lagrange en notacion


L
d L

= f,
dt q
q

(2.2)

(2.3)

Matematica

Modelizacion
del Sistema

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


La ecuacion
(2.3) es simplemente una forma diferente del Principio de DAlambert
friccion.
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.

m, g

r,

:
:
m:
l:
I:
r:
g:

angulo
entre el pendulo y la vertical
angulo de giro del brazo
masa del pendulo
longitud del pendulo
inercia del brazo
radio de giro del brazo
gravedad

Figura 2.1: Esquema del pendulo invertido rotatorio

Energa potencial del pendulo


invertido
del
La energa potencial es almacenada en el pendulo invertido y depende de la elevacion
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 aislados. Calculamos la energa cinetica de cada uno de ellos y tomamos como energa cinetica
total la resultante entre ambas.
Brazo giratorio: La energa cinetica del brazo giratorio es
Ecin1 =

1 2
I .
2

(2.5)

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

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
Ecin2 =

1
1
1 2
mv = ml 2 2 + r2 m 2 + rlm cos .
2
2
2

(2.6)

del Lagrangiano, ecuacion


(2.1), la energa potencial (2.4)
Reemplazando en la ecuacion
y la energa cinetica total (suma de (2.5) y (2.6)), obtenemos

L(q(t), q (t)) =

1 2
[ I + ml 2 + r2 m 2 + 2rlm cos ] mgl cos ,
2

que podemos escribir en forma matricial como





1 
ml 2
mrl cos


mgl cos
L(q(t), q (t)) =
mrl cos I + mr2

2
1
= q T M(q)q E pot ,
2
donde la matriz M(q) se llama matriz de masa generalizada y q y q vienen dadas por (2.2).
y luego respecto de q, tenemos que
Si derivamos el Lagrangiano respecto de q,
L
= M(q)q
(dado que la matriz M es simetrica)
q
E pot
L
1 M(q)
= q T
q
.
q
2
q
q

Si ahora derivamos la derivada del Lagrangiano respecto de t, utilizando la regla del producto, obtenemos




d
d L

= M(q)q +
( M(q) q.
dt q
dt
Notemos que


d
M(q)

( M(q)) q q T
q.
dt
q
de Euler-Lagrange (2.3) con los resultados obtenidos
Escribamos la ecuacion
E pot
1 M(q)
M(q)q + q T
q +
= f ,
| {z } 2
|{z}
q
q
|
{z
} | {z }
4
1
2

anterior representa
donde cada uno de los terminos de la ecuacion
1. termino referido a la inercia de la masa

2. termino de coriolisis
3. termino gravitacional
4. fuerzas o momentos externos aplicados

(2.7)

Matematica

Modelizacion
del Sistema

10

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


E pot
1 M(q)
q = M1 (q) q T
q
+f
2
q
q




E pot
1 d
1
= M (q)
M(q) q
+f
2 dt
q

(2.8)

Notemos que det M 6= 0, por lo que la matriz M es invertible.


(2.8) reemplazando a M, a q y q por la matriz y los vectores
Escribimos la ecuacion
correspondientes, quedando as
  
1 

  
  
1

ml 2
mrl cos
0
mrl sin
mgl sin
f
=

mrl cos I + mr2


0

0
f
2 mrl sin
(2.9)
donde f es la fuerza de rozamiento del pendulo y f = es el torque aportado por el
motor, la entrada del sistema. Dado que no vamos a controlar el pendulo con el torque del
necesitamos una ecuacion
que nos relacione el torque con la
motor sino con la tension,
del motor, u. Para ello calculamos el modelo matematico

tension
del motor de corriente
continua.

Modelo Matematico
de un Motor de CC

2.2

Para calcular el modelo matematico


del motor de corriente continua, planteamos las ecuaciones 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

R
V

e = K

J:
b:
K:
R:
L:
:

momento de inercia del rotor


factor de amortiguamiento
constante de la fuerza electromotriz
resistencia electrica
inductancia electrica
del eje del motor
posicion

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
e = Ke

(2.10)
(2.11)

En el sistema internacional de medidas (SI), la constante de armadura, K y la constante del motor Ke son iguales, por lo que K = Ke = K.
De la Figura 2.2, podemos escribir las ecuaciones basadas en las leyes de Newton,
(2.12), y en las leyes de Kirchhoff, (2.13).
J + b = Ki
Li + Ri = v K

(2.12)
(2.13)

en Modelo de Estado
2.3 Representacion

11

Dado que J, b y L toman valores muy pequenos,


podemos despreciarlos y as obtenemos
el modelo simple aproximado

(t) =

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

(2.14)

en Modelo de Estado
2.3 Representacion

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

(2.15)

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 =
de donde (2.9) resulta
, x2 = , x3 = y x4 = ,

1

1 0
0
0
0 0
0
0

0 1

1
0
0
0
0
0 0
=

2

0 0

ml
mrl cos
0
mrl sin

2 0 0
2

0 0 mrl cos I + mr
0 0 mrl sin
0



0 0 1 0

0
0
0 0 0 1
0
0


+
0 0 0 0 mgl sin + f
0 0 0 0

0
f

(2.16)

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

x 1 = 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 )

x 3 =

ml 2 ( I + mr2 mr2 cos2 x1 )


l ( I + mr2 mr2 cos2 x1 )

K
K
1
1
2

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

x 4 = 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.

del Sistema
2.4 Linealizacion
El modelo de estado que obtuvimos en (2.17) es no lineal, como la mayora de los sistemas
fsicos. Bajo ciertas condiciones podemos aproximar el modelo (2.17) con un modelo de
simple
estado lineal incremental. La idea de utilizar un modelo lineal que es mucho mas

de controladores.
el analisis
del sistema y el diseno
de un modelo lineal a partir de uno no lineal se llama lineaEl proceso de obtencion
se realiza alrededor de un punto o trayectoria de operacion,
lizacion
[2]. La linealizacion

(2.15), es decir
definido por valores nominales, x (t), x 0 y u (t), que satisfacen la ecuacion
x (t) = f ( x (t), u (t)).

Matematica

Modelizacion
del Sistema

12

no lineal (2.15) para una entrada y


Nos interesa el comportamiento de la ecuacion
estado inicial apenas perturbados de los valores nominales, es decir para u(t) = u (t) + u (t)

y x0 = x 0 + x0 con u (t) y x0 suficientemente pequenos


para t t0 . Si suponemos que la
permanece cercana a la nominal, en terminos de la ecuacion
de estado no lineal,
solucion
tenemos
x (t) + x (t) = f ( x (t) + x (t), u (t) + u (t))

x (t0 ) + x (t0 ) = x 0 + x0 .

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


Si nos quedamos solo con los terminos de primer orden para la
alrededor de x y u.
componente i de f , resulta
u ) +
f i ( x + x , u + u ) f i ( x,

f
f
fi
u ) x1 + + i ( x,
u ) x4 + i ( x,
u )u .
( x,
x1
x4
u

vectorial, obtenemos
Repitiendo para cada i = 1, . . . , 4 y volviendo a la notacion
f
f
x (t) + x (t) f ( x (t), u (t)) +
( x (t), u (t)) x + ( x (t), u (t))u ,
x
u
f

x
donde la notacion
vector x,
f
1

x. 1 .
f

..
, ..
x
f4

x1

(2.18)

representa la Matriz Jacobiana, del campo vectorial f con respecto al


f1
x4

..

f4
x4

de estado lineal de la forma


Por lo que el modelo (2.18) se aproxima con una ecuacion
x (t) = A(t) x (t) + B(t)u( t),

x (t0 ) = x0 ,

donde
A(t) =

f
( x (t), u (t)),
x

B(t) =

f
( x (t), u (t)).
u

(2.19)

Notemos que el sistema lineal (2.19) resulta inestacionario cuando se trata de una
el sistema lineal resulta
trayectoria nominal, cuando se trata de un punto de operacion,
estacionario, es decir A(t) = A y B(t) = B .
que nos interesa en nuestro sistema es el punto de equiLa trayectoria de operacion
librio del mismo. Un punto x = xeq en el espacio de estado es un punto de equilibrio de
(2.15) con u(t) = 0, si tiene la propiedad de que cuando el estado inicial del sistema es xeq ,
el estado permanece en dicho punto en todo tiempo futuro [5].
Buscamos entonces xeq tal que x eq = f ( xeq , 0) = 0, as

0 = x3

0 = x4

( 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 )

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.

Entrada-Salida
2.5 Representacion

13

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


dicho punto utilizando (2.19), obtenemos

0
0

= ( I +mr2 ) g
A=

x x=xeq Il
rmg
I

0
0
0
0

1
0
( I +mr2 )b
ml 2 I
rbl Is

0
1

rK 2
l IR
2
KIR

f
B=

u x=xeq

0
0

=
rK
l IR
K
IR

Dado que las salidas del sistema son y , definimos las matrices




1 0 0 0
0 0
y
D=
,
C=
0 1 0 0
0 0
quedando de esta forma el sistema lineal totalmente definido como

0
0
1
0
0

0
0
0
1

0
=

2
2
2 +

(
I
+
mr
)
g
(
I
+
mr
)
b
rK
s

rK u
0
l IR
Il
l IR
ml 2 I
2
K

rmg
0
rbl Is
KIR
IR
I




1 0 0 0
.
y=
0 1 0 0

(2.20)

Entrada-Salida
2.5 Representacion
entrada-salida no es mas
ni menos que una forma de obtener la salida
La representacion
de su entrada. Para ello sabemos que la salida del
de un sistema cualquiera en funcion
sistema puede calcularse como
y(t) =

Z t
0

g(t )u( ) d,

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
y = Cx + Du

(2.21)

aplicamos la transformada de Laplace a (2.21) y obtenemos


sX (s) x(0) = AX (s) + BU (s)
Y (s) = CX (s) + DU (s).
y suponemos que las condiciones iniciales son
Si despejamos X (s) de la primer ecuacion
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 del modelo lineal, bajo algunas
lar (sI A)1 . Por eso utilizaremos una simplificacion
condiciones sobre nuestras variables que detallaremos.

Matematica

Modelizacion
del Sistema

14

2.6

del Modelo
Simplificacion

Para obtener el modelo de estado simplificado partiremos de suponer que el sistema tiene

como sabemos
rozamiento dinamico
en el pendulo despreciable, es decir bs 0. Ademas,
de su masa como
la inercia, I, del brazo giratorio del pendulo se puede escribir en funcion
I = Mr2 , donde r el radio de giro del brazo.
Si ahora escribimos el termino de la fila 3 y 4 de la columna 1 de la matriz A de la
(2.20) en funcion
de la masa del brazo, resulta
linealizacion
a31 =

( I + mr2 ) g
( M + m) g
=
Il
Ml

a41 =

Si tenemos en cuenta que M  m, entonces a31 =


(2.20) se reduce a

0
0
=
g/l

0
|

0
0
0
0

1
0

0
1
+ 0 u,

0 r /l

r/l

{z
}
| {z }
A

Calculamos ahora la
mero calculamos

0
(sI A )1 =
g/l
0

rmg
mg
=
.
I
Mr

(2.23)

g
mg
y a41 =
0, por lo que el modelo
l
Mr

con =

K2
K
y=
.
2
Mr R
Mr2 R

(2.24)

matriz transferencia (2.22) para el sistema (2.24). Para ello pri-

1
0 1
0
s 0
1

0 s r /l
0 0
s +

2
s (s + )
0
s(s + )
sr /l

1
0
(s + )(s2 g/l )
0
s2 g/l

=
2

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

De donde

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

(s)
s(s + )


2.7

(2.25)

Ajuste de los Parametros


en forma Aproximada

de los controladres sera basado en el modelo matematico

Dado que el diseno


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 estimaremos es forma aproximada utilizando un metodo iterativo, previamente verificamos
En esta seccion
describiremos los pasos que seguimos
su funcionamiento en simulacion.

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:
de amplitud 1.5 V a lazo abierto durante un
1. Excitamos al sistema con un escalon
segundo con un perodo de muestreo de T = 1/1000 seg y guardamos los valores que
obtuvimos en la salida .
transferencia que relaciona la entrada u con la salida , de
2. Obtenemos la funcion
de y , dando como resultado
(2.24), en funcion
(s)

=
.
U (s)
s(s + )

(2.26)

3. Dimos valores a y a hasta lograr una salida que comparandola


con las muestras
obtenidas tenga un error aceptable.
del sistema (2.26),
4. La Figura 2.3 muestra el resultado obtenido mediante simulacion
con
= 11.8
= 9.8

1.4
Datos Simulados
Datos Reales

1.2

Radianes

0.8

0.6

0.4

0.2

0
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Tiempo

entre la salida real y la aproximada


Figura 2.3: Comparacion

Matematica

Modelizacion
del Sistema

16

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



0
0
0 1
0

0

0 0
1
=
+ 0 u
32.66 0 0 10.62 8.82
9.8

0
0 0 11.8
(2.27)




1 0 0 0

y=

0 1 0 0

transferencia
y como funcion


8.82s
(s)

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


Captulo 3

Dise
no de Controladores y Simulacion
de control basadas en el
En este captulo desarrollaremos diversas tecnicas de diseno

modelo matematico
del sistema, para lo que debemos plantear cuales
son nuestras es es decir como

pecificaciones de diseno,
queremos que se comporte el sistema luego de
calculado el control . Comenzaremos con tecnicas de control simples, tomando al sistema
como dos sistemas de una entrada y una salida en cascada, llamada control en casca complejas utilizando las ecuaciones en espacio de
da. Luego desarrollamos tecnicas mas
estado como realimentacion
de estado.
entrada-salida del sistema
Para el control en cascada utilizamos la representacion
de polos [3] disenaremos

(2.25) y a traves de la asignacion


el control. Para la realimenta de estado utilizaremos un regulador lineal cuadratico

cion
(LQR) y dado que solo podemos
medir dos de las cuatro variables de estados, estimaremos las variables de estado no
medidos.

de
Para el calculo
de los controladores utilizamos M ATLAB. Para analizar el desempeno
cada controlador en el lazo cerrado del sistema, utilizamos S IMULINK, donde armamos el

diagrama de bloques del modelo no lineal (2.17). Aplicamos cada controlador disenado
a
se aproxime al sistema real.
este sistema para que la simulacion
detallaremos cada una de las tecnicas utilizadas, desarrollando alguA continuacion
nas herramientas necesarias para cada tecnicas, y detallaremos tambien los resultados

obtenidos en la simulacion.

3.1 Control en Cascada

El control en cascada es una estructura alternativa de control, cuya idea basica


es realimentar 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
del lazo, o
(i) cuando G2 (s) tiene alinealidades significativas que limiten el desempeno
(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
en nuestro problema G1 (s) tiene un cero de
temporales. Como veremos en esta seccion,
fase no mnima.
1

Siglas que significa una entrada una salida (single input single outpu)


Dise
no de Controladores y Simulacion

18

R(s) +
d - j- K1 (s)

Y (s)

+ j- K (s)
2

-. G2 (s)

. .
G1 (s)

-d

Lazo secundario

T2 (s)

Lazo primario

Figura 3.1: Estructura de control en cascada

Si pensamos nuestro problema como si fuera SISO, tomando como entrada U (s) y sa medimos el angulo

lida (s), donde ademas


del pendulo (s), podemos reescribir nuestro
sistema como muestra la Figura 3.2, teniendo en cuenta (2.25).

U (cs) -

r/l s
(s2 g/l )(s+ )

2
- (s g2/l )

(s)
-c

r/l s

-(sc)
Figura 3.2: Diagrama de bloques del pendulo como si fuera un sistema SISO
de la Figura 3.1, puede separarse en dos etapas:
El diseno

1. Lazo secundario. Disenamos


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

G2 (s)K2 (s)
,
1 + G2 (s)K2 (s)

donde

G2 (s) =

(s2

r/l s
.
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
G1 (s) =

(s2 g/l )
.
r/l s2

de Polos
3.1.1 Dise
no de K2 (s) por Asignacion
detallaremos la tecnica utilizada para disenar

En esta seccion
el controlador K2 (s), que

estabiliza el angulo
del pendulo. La tecnica utilizada es por asignacion
de polos [3], pero
antes mencionaremos de que se trata esta tecnica.
de Polos La tecnica de asignacion
de polos trata basicamente

Asignacion
en ubicar los
polos del polinomio caracterstico a lazo cerrado en forma arbitraria. Dado un lazo de
control de un grado de libertad como muestra la Figura 3.3, con
B(s)
b sn1 + bn1 sn1 + + b0
= n1 n
A(s)
an s + an1 sn1 + + a0
pn p sn p + pn p 1 sn p 1 + + p0
P(s)
K (s) =
=
,
L(s)
l nl s nl + l nl 1 s nl 1 + + l 0

G (s) =

(3.1)

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)
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
1
A(s) L(s)
S(s) ,
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
G (s)
B(s) L(s)
Si ( s ) ,
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
T (s) ,

Sensibilidad complementaria

(3.2)

Sensibilidad

(3.3)

de entrada
Sensibilidad de perturbacion
(3.4)

Su (s) ,

K (s)
A(s) P(s)
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)

Sensibilidad de control

(3.5)

y donde el polinomio Alc (s) , A(s) L(s) + B(s) P(s) se llama polinomio caracterstico a lazo
cerrado.

Di ( s )

Do ( s )

R ( s )- j U (s-) ?
j - G (s)
K (s)
6

?
- j Y(s)
-

j

6

Dm ( s )

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
P(s) y L(s) tal que el polinomio caracterstico a lazo cerrado sea
planta, se pueden disenar
ver [3]).
Alc (s). El siguiente lema resume estas condiciones (demostracion
de Polos SISO). Consideremos un lazo de realimentacion
de un
Lema 1 (Asignacion
grado de libertad con un controlador K (s) y un modelo nominal G (s) dado por (3.1). Suponiendo que A(s) y B(s) son coprimos 2 y que sus grados son n y n 1, respectivamente.
Sea Alc (s) un polinomio arbitrario de grado nlc = 2n 1. Entonces existen polinomios P(s)
y L(s), con grados n p = nl = n 1 tal que

(3.6)

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

no existen cancelaciones inestaNotemos que si elegimos Alc (s) estable 3 , y si ademas


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.

K2 (s) =
Volvamos a nuestro problema, disenar
B(s) = r/l s
2
3

P2 (s)
L2 ( S)

A(s) = (s2 g/l )(s + ),

no tienen factores en comun


con todos sus ceros con parte real negativa

tal que estabilice el lazo tomando


Dise
no de Controladores y Simulacion

20

el Lema 1, tenemos que elegir nlc = 2n 1 = 5


donde el grado de la planta es n = 3. Segun
para que existan polinomios P2 (s) y L2 (s) de grado n p = nl = n 1 = 2 que satisfagan (3.6).
de Alc (s) vamos a recurrir
estable de los factores de A(s),
Para la eleccion
a la cancelacion
p

es decir vamos a elegir Alc (s) = (s + g/l )(s + ) Alc (s), donde ahora A lc (s) tiene orden 3.
De esta forma nuestro polinomio caracterstico a lazo cerrado se reduce a
q
(s + g/l )(s + ) A lc (s) = P2 (s) (r/l s) + L2 (s) (s2 g/l )(s + ),
| {z }
|
{z
}
|
{z
}
B(s)

Alc (s)

A(s)

estable, debemos asegurar que P2 (s) =


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

L2 (s)

Si tomamos A lc (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
p0
0 0 g/l
c0
|
{z
}
Me

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


que admite solucion

Lo unico
que nos queda ahora es elegir coeficientes de A lc (s) tal que sea estable. La
de este polinomio no es trivial ya que nuestra G2 (s) es inestable, y existen limieleccion
taciones de dise
no para la sensibilidad complementaria cuando existen polos inestables
detallaremos estas limitaciones y como

en el sistema. En la siguiente seccion


elegir el
polinomio caracterstico en estos casos [8].
de A lc(s)
Limitaciones de Dise
no Impuestas por G2 (s) para la Eleccion
discutiremos los compromisos de diseno
que existen en la respuesta
En esta seccion
en un sistema SISO. Estos compromisos de diseno

temporal debida a la entrada escalon


se originan en limitaciones estructurales de la planta a controlar impuestas por polos
transferencia. Estas limitaciones son
inestables y ceros de fase no mnima4 de su funcion
inevitables para cualquier controlador que estabilice el lazo. Por ejemplo, como veremos
los polos inestables a lazo abierto implican la existencia de sobrevalor en
a continuacion,
la respuesta, e inducen un compromiso de dise
no entre la magnitud de este sobrevalor y
el tiempo de establecimiento de la respuesta.

Respuesta al escalon
Definamos los parametros
que describen las propiedades rele5

la Figura
vantes de la dinamica
de los sistemas , considerando como respuesta al escalon
3.4
(esto
valor en el regimen estacionario, y : el valor final de la respuesta al escalon
no tiene sentido si el sistema tiene polos en el SPD 6 ).
4

ceros con parte real positiva

Existen distintas definiciones para estos parametros


en la literatura, nosotros adoptamos las definiciones
propuestas por [7]
6
SPD: semiplano derecho
5

3.1 Control en Cascada

21

y + ysob

y +

y
kr y

ysub
tc

tp
Tiempo

te

Figura 3.4: Indicadores de la respuesta escalon

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


alcanza, la primer vez, el valor kr y . La constante kr vara
la respuesta al escalon
el autor, comunmente

segun
se toma tanto 0.9 o 1.

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

pasa por
subvalor, ysub : el maximo
(valor absoluto) por el que la respuesta al escalon
debajo del cero.
Tiempo de establecimiento, te : el tiempo transcurrido hasta que la respuesta al
ingresa (sin dejarlo en tiempo subsiguiente) a una banda , alrededor del
escalon
valor final. Esta banda , generalmente se define como un porcentaje de y , 2% a
5%
detalles ver [8].
Veamos el siguiente resultado, que no vamos a demostrar, para mas
Corolario 1. [Polos inestables reales y sobrevalor]. Si la planta tiene un polo inestable real
en p > 0, su respuesta al escalon
tiene forzosamente sobrevalor. Mas
aun,
si tc es el tiempo
de crecimiento del sistema a lazo cerrado, entonces se cumple que
ysob

( ptc 1)e p tc + 1
ptc

.
ptc
2

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.
accion
de control rapida

Es decir los polos inestables demandaran


para un mejor desem (menor sobrevalor). Cuanto mayores (mas
rapidos)

peno
sean los polos inestables, mayor
sera esta demanda.
podemos extraer la siguiente regla practica

para evitar granEn conclusion


de diseno
des sobrevalores.


Dise
no de Controladores y Simulacion

22

El polo dominante a lazo cerrado debe ser mayor (en magnitud) que cualquier
polo inestable a lazo abierto del sistema.

p
Dado que nuestro sistema G2 (s) tiene un polo inestable en g/l = 5.7154, elegiremos
valor un poco mayor para hacer
como frecuencia de corte del sistema a lazo cerrado algun
de control rapida.

la accion
Utilizamos los valores de los parametros
descriptos en la
2.7, donde
seccion
G2 (s) =

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

del A lc (s) tal que la frecuencia del lazo


Propusimos tres polos rapidos
para la eleccion
sea mayor que el polo inestable. Los polos propuestos son p=[-14 -13 -12], es decir,
(3.7) dando como resulA lc (s) = s3 + 39s2 + 506s + 2184, con el que resolvimos la ecuacion
tado el controlador
K2 (s) =

3.1.2

129.67(s + 11.8)(s + 5.715)


,
(s + 52)(s 7.341)

T2 (s) =

1143.7s
.
(s + 14)(s + 13)(s + 12)

Dise
no de K1 (s)

Una vez estabilizado el lazo secundario, seleccionamos K1 (s) tal que estabilice el lazo de la
Figura 3.5. Para ello debemos tomar como sistema a lazo abierto a

p0 r/l s (s2 g/l )


r/l s2
A lc
p r/l (s2 g/l )
= 0
,
r/l s A lc

T2 (s) G1 (s) =

(3.8)

limitaciones
que tiene un polo en el origen y un cero de fase no mnima que impondran

en el diseno.

T2 (s) =
R(se) - lK1 (s) - l 6
6

p0 (s+ g/l )(s+ )


s2 +l1 s+l0

p0 r/l s
A lc

r/l s
(s2 g/l )(s+ )

(s) (s2 g/l )


-

r/l s2

(s)
-c

del lazo primario


Figura 3.5: Diseno

Limitaciones de Dise
no Impuestas por G1 (s) T2 (s)
Como vieramos en 3.1.1, tanto los polos inestables como los ceros de fase no mnima,
por ejemplo, implican la existencia de subvalor, induimponen limitaciones en el diseno,

ciendo un compromiso entre la magnitud de e ste y el maximo


tiempo de establecimiento de
citando un resultado parecido al del Corolario
la respuesta, como veremos a continuacion
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
ysub

1
.
1

eqte

del Corolario 2, es que si la planta tiene un cero real de fase no


La interpretacion
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.
accion
de control lenta para un
Es decir, los ceros de fase no mnima demandaran
(menor subvalor). Cuanto menores (mas
lentos) sean los ceros de fase
mejor desempeno
no mnima, mayor sera esta demanda.
podemos extraer la siguiente regla practica

para evitar granEn conclusion


de diseno
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


G1 (s) =

(s2 32.66)
0.9s2

G1 (s) T2 (s) =

1270.7(s2 32.66)
.
s(s + 14)(s + 13)(s + 12)

(3.9)

En la Figura 3.6, vemos el lugar de races, obtenido con el comando rlocus de M ATLAB,

los polos cuando realimentamos


de G1 (s) T2 (s). Este grafico
muestra donde se ubicaran
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
T1 (s) =

25.41(s2 32.66)
.
(s + 20)(s + 0.35)(s2 + 17.7s + 95.05)

3.1.3 Simulacion
tomamos los controles K1 (s) y K2 (s) y los implementamos en S IMULINK
En esta seccion
obtenido. Simular dichos controladores con el sistema lineal
para analizar el desempeno
tal como los calculamos, 3.1, sabemos que se comporta de forma deseada. Pero ahora
mostramos los resultados que obtenemos si tomamos el sistema no lineal, descripto por
(2.17) y tomando en cuenta las limitaciones de los sensores y del actuador. En la Figura
donde el
3.8, mostramos el diagrama de bloques que implementamos para la simulacion,
bloque Alinealidades representa, en forma aproximada las perturbaciones del motor: la


Dise
no de Controladores y Simulacion

24
10

Imag Axis

10

15

10

0
Real Axis

10

15

20

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

estatica

friccion
(Figura 3.7) y el juego en el eje del motor ( 1o ). El bloque K1d es el control
inicial tomamos
K1 (s) discretizado con un tiempo de muestreo T = 0.02 y como condicion
todos las variables de estado en cero salvo = 0.05 rad. Los valores de las alinealidades
las obtuvimos comparando el sistema real con el simulado, y as ajustamos el valor de la
estatica.

friccion

(t)

0.15

(t)

estatica

Figura 3.7: Friccion


del motor

La Figura 3.9 muestra los resultados obtenidos luego de simular el lazo cerrado duran
entre la posicion

te 20 segundos. En el grafico
de la izquierda mostramos la comparacion

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
del angulo.

tanto a la posicion

3.1 Control en Cascada

25

Discretizacio Tita
Discretizacion
de la Actuacion
.1
Step3

tita

K2d

K1

Tita
psi

Saturacion
de la actuacion

K2

Pendulo no lineal1

In1

Out1

Alinealidades

Psi

Discretizacin Psi

Figura 3.8: Diagrama de bloques de la simulacion

0.12

0.06
con alinealidades
sin alinealidades

sin alinealidades
con alinealidades
0.05

0.1

0.04

0.08

0.03

Posicin [rad]

Posicin [rad]

0.06

0.04

0.02

0.02

0.01

0
0
0.01
0.02

0.02

0.04

0.06

0.03

10
Tiempo [seg]

12

14

16

18

20

0.04

10
Tiempo[seg]

12

14

16

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

18

20


Dise
no de Controladores y Simulacion

26

3.2

de Estado
Control por Realimentacion

vamos a introducir conceptos y tecnicas de control en sistemas descriptos


En esta seccion
fueron obtenidos
por ecuaciones de estado. Los resultados y definiciones de esta seccion
de [2].
n y de una sola entrada descripto por
Tomemos el sistema a lazo abierto de dimension
x (t) = Ax(t) + Bu(t)

(3.10)

y(t) = Cx(t).

de control se propone
En realimentacion
de estado, como muestra la Figura 3.10, la senal
lineal al estado
u(t) = r(t) Kx(t).

(3.11)

- i- B
6

x R S x
- i - S


6

-C

y-

A 
K 
de estado
Figura 3.10: Realimentacion
de (3.11) en (3.10), da lugar al lazo cerrado del sistema, cuyo modelo
La substitucion
de estado viene dado por
x (t) = ( A BK ) x(t) + Br(t)
y(t) = Cx(t).

(3.12)

Para utilizar esta tecnica estamos suponiendo que todas las variables de estado estan
detallaremos como

al alcance para medirlos. Pero en realidad no es as, en esta seccion

podemos calcular la matriz de realimentacion


del sistema a lazo
K para que la dinamica
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

Dise
no de la Matriz K

de estado es la de conUna propiedad de sistemas lineales esencial en la realimentacion


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 trayectoria se siga, o que entrada se use.
La ecuacion
de estado (3.10), o el par ( A, B), se dice controlable si para cualquier 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 de estado con dicha matriz ubique los autovalores del sistema a lazo cerrado
mentacion
ver [2]).
donde queramos (demostracion

de Estado
3.2 Control por Realimentacion

27

de autovalores). Si la ecuacion
de estado (3.10) es controlable,
Teorema 1 (Asignacion
de estado u(t) = r(t) Kx(t), donde K es un vector
entonces mediante la realimentacion
real constante 1 n, los autovalores de ( A BK ) pueden ser asignados arbitrariamente,
siempre que los autovalores complejos conjugados se asignen en pares.
Un metodo para analizar controlabilidad de un sistema dado es que la matriz de controlabilidad C tenga rango n (rango(C) = n), donde


C = B AB . . . An1 B
Ahora solo nos resta verificar si nuestro sistema es controlable para poder elegir K.
Para ello tomemos el sistema (2.27), y calculamos


rango C = rango B AB A2 B A3 B = 4,
por lo que podemos afirmar que el sistema (2.27) es controlable.
K=place(A,B,P), que calcula K para ubiConvenientemente, M ATLAB tiene la funcion

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
3.1.2.
restricciones estructurales que posee el pendulo invertido, ver seccion
K es siguiendo algun

Control LQR Otra forma de calcular la ganancia de realimentacion


por ejemplo minimizando el funcional cuadratico

criterio de optimizacion,
J=

Z t

[ xT (t) Qx(t) + uT (t) Ru(t)] dt,

(3.13)

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 las variables de estado de un punto a otro.


de la transicion

Obtener la matriz K, minimizando el funcional (3.13) analticamente no es tarea facil,


K=lqr(A,B,Q,R). Para ello es necesario ajustar
ver [1], pero M ATLAB cuenta con la funcion
deseado.
Q y R hasta obtener el desempeno
tomamos
Para nuestro diseno

100 0 0 0
0 1 0 0

Q=
y
R = 10,
0 0 1 0
0 0 0 1
A y B de (2.27) y obtuvimos


K = 24 0.3 3.8 2.4

(3.14)

Integral
3.2.2 Seguimiento Robusto: Accion
introducimos un esquema de seguimiento de referencias constantes. La
En esta seccion
idea se basa en aumentar la cantidad de variables de estado de la planta, agregando una
nueva: x a que integra el error, es decir
x a = r y = r Cx,
como mostramos en la Figura 3.11.


Dise
no de Controladores y Simulacion

28

r - i- R Sxa
S
- iu- B
K
a


6
6

x R S x
- i - S


6

-C

y-

A 
K 

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
de estado u = K Ka
, el sistema a lazo ceSi consideramos la realimentacion
xa
rrado de la Figura 3.11 es


  
   
x
A BK BKa
x
0
=
+
r
x a
C
0
xa
1

(3.15)




K Ka de forma tal que el sistema (3.15) sea asintoticamente


La idea ahora es disenar
de x a , implica que se produzca el seguimiento
estable. En particular, la estabilizacion
deseado ya que
lim x a = 0

lim y(t) = r.




K Ka para que (3.15) sea estable veamos el siguiente


Para saber si podemos disenar
teorema:
Teorema 2 (Controlabilidad de la planta aumentada). Si ( A, B) es controlable y si G (s) =
aumentada
C (sI A)1 B no tiene ceros en s = 0, los autovalores de la matriz de evolucion

en
(3.15)
pueden
asignarse
arbitrariamente
seleccionando
la
matriz
de
realimentaci
on


K Ka .
3.2.1, vimos que nuestro sistema es controlable, es decir que rango C = 4
En la seccion
y si tomamos como salida , que es quien queremos que siga la referencia constante, G (s)
no tiene ceros en el origen, ver (2.25). Para calcular las ganancias K y Ka utilizamos el
comando [K,Ka]=lqr(Aa,Ba,Qa,R), donde


A 0
Aa =
,
C 0

 
B
Ba =
,
0

100
0

Qa =
0
0
0

0
1
0
0
0

0
0
1
0
0

0
0
0
1
0

0
0

0
1

R = 10.

La ganancia que obtuvimos es




K = 27 1.06 4.29 2.85 0.316 .

(3.16)

de Estado
3.2 Control por Realimentacion

29

de estado asume la disponibilidad de las variables de


El control con realimentacion

estado. Esto no es lo que pasa en la practica,


en particular nuestro sistema no cuenta con sensores para medir las velocidades angulares (variables de estado del sistema)
describiremos
por lo que debemos estimar estas variables no medidas. A continuacion
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 incrementales. Esto lo podemos hacer ya que las variables de estado que queremos estimar no
ni menos que la derivada de las dos variables estado que medimos. Es decir
son ni mas
(k + 1) (k)

T

(
k
+
1
) (k)

T

(3.17)

donde T es el perodo con el cual la PC toma los datos y la diferencia corresponde a dos
mediciones consecutivas. Esta forma de estimar las variables de estado es muy sencilla
de implementar en S IMULINK, como vemos en la Figura 3.12, pero para que esta estima

sea buena, T tiene que tomar valores pequenos.


Tita
1/T

1
1

1
Tita P

Gain

z
Unit Delay

Figura 3.12: Estimador de la derivada

Quedando de esta forma un control que en lugar de ser estatico


memoria).

es dinamico
(o con

3.2.4 Observador de las variables de Estado


introduciremos un dispositivo dinamico,

En esta seccion
llamado observador, cuya salida
es una estima del vector de estado. En particular vamos a detallar el observador de orden
completo, que tiene el mismo orden que la planta, y de esta forma estimamos todo el
vector de estado. Representemos con x (t) a la estima de x(t) y tomemos el sistema (3.10),
donde suponemos A, B, y C conocidas, y la entrada u(t) y la salida y(t) son medibles,

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)
y (t) = C x (t),

(3.18)

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

que depende en forma instantanea


de las variables de estado


Dise
no de Controladores y Simulacion

30

constante, de forma tal que si no hay error no debemos corregir nada, pero si hay error,
apropiada de L puede hacer que el error de estimacion
tienda asintoticamente

una eleccion
a cero. La Figura 3.13 muestra el observador que explicamos, donde las ecuaciones vienen
dadas por
x (t) = A x (t) + Bu(t) + L( y(t) C x (t))

(3.19)

= ( 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 reemplazamos (3.10) y (3.19) vemos que x (t) = ( A LC ) x (t), donde los autovalores de ( A LC )

Si pudieramos elegir L tal que


son los que gobiernan la dinamica
del error de estimacion.

( A LC ) tenga autovalores negativos, estaramos afirmando que el error de estimacion

tiende asintoticamente
a cero.

- B

x R S x
- i - S


6

-C

y-

A 
B
x


x
R 

S
S

?
i


L 

- A LC

Figura 3.13: Observador de estado completo

3.2 vimos el concepto de controlabilidad, como

En la seccion
testear si un sistema es
controlable y para que sirve. Ahora para ver que condiciones debe cumplir el sistema para

que exista la matriz L, tal que el estado estimado x (t) tienda asintoticamente
al estado real
x(t) , debemos definir el observabilidad. El concepto de observabilidad tiene que ver con
la posibilidad de estimar el vector de estado del sistema a partir del conocimiento de la
salida.
La ecuacion
de estado (3.10) es observable si para cualquier estado inicial x(0)
(desconocido), existe un tiempo finito t1 tal que el conocimiento de la entrada u y
la salida y sobre el intervalo [0, t1 ] es suficiente para determinar en forma unica

el estado inicial x(0). En caso contrario el sistema se dice no observable.


ver [2]).
El siguiente teorema define bajo que condiciones existira L (demostracion
de Autovalores en Observadores). Dado el par ( A, C ), todos los
Teorema 3 (Asignacion
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
CA2
..
.
CAn1

de Estado
3.2 Control por Realimentacion

31

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


Para analizar la observabilidad de nuestro sistema, calculamos

C
CA

O=
donde
rango O = 4,
CA2 =,
CA3
por lo que nuestro pendulo invertido es un sistema observable.

Para elegir donde


ponemos los autovalores de A LC, tomamos los autovalores que
rapidos

resultan del control LQR a lazo cerrado pero los ponemos 1.2 veces mas
y luego
utilizamos el comando de M ATLAB L=place(A,C,P).
El valor de L obtenido es

0.5335 0.1312
0.0177 0.3533

(3.20)
L=
7.6284 4.3791
0.2567 1.4825

3.2.5 Simulacion
describiremos las simulaciones realizadas utilizando el programa S IMU En esta seccion
LINK . Implementamos al sistema utilizando las ecuaciones no lineales (2.17) en diagrama
de bloques y agregamos las alinealidades y limitaciones descriptas en el Captulo 1 para
que se aproxime en mejor forma al sistema real.

En primer lugar simulamos el sistema suponiendo que las variables de estado estan
de estado (3.14). Lueal alcance de ser medidos, utilizando el control por realimentacion
realimentando las variables de estado estimados con los
go comparamos el desempeno
observados. Una vez que decidimos cual es el mejor metodo, realizamos pruebas de seguimiento a referencias y robustez.
El periodo de muestreo utilizado en todas las simulaciones es T = 0.01 y tomamos
como condiciones iniciales (0) = 0.05, (0) = 0, (0) = 0 y (0) = 0.
de Estado
Realimentacion
en diagrama de bloques de S IMULINK
En la Figura 3.14, mostramos la implementacion
suponiendo que las
utilizado, y la Figura 3.15 los resultados obtenidos de la simulacion,
cuatro variables de estado son medidos.
de Desempe
Comparacion
no Estimador-Observador
en diagrama de bloques del sistema, el
En la Figura 3.16, podemos ver la implementacion
de estado, los estimadores de las velocidades y las limitaciones
control en realimentacion
debidas al actuador y a los sensores. Y en la Figura 3.17 la misma idea pero implementando el observador calculado en (3.20), para ello utilizamos un bloque variable de estado
(3.19).
representando la ecuacion
de la Figura
En la Figura 3.18 mostramos los resultados que obtuvimos por simulacion

3.16 y 3.17. Cada uno de los graficos


muestra una salida, (t) a la derecha y (t) a la
estimada y observada para comparar desempeno.

izquierda, en su version
podemos
Para comparar los resultados obtenidos, y dado que en nuestra simulacion
medir las velocidades angulares, calculamos la sumatoria de los errores absolutos de
y dando para el observador 21.71 y 4.1 respectivamente y para el estimador 79.48
y 57.34, respectivamente. Vemos as, como era de esperar, que el observador obtiene
mejores resultados que el estimador y esto se debe a que el observador utiliza mucha


Dise
no de Controladores y Simulacion

32

24
KTita
Actuacin
.3
KPsi

tita

Dsicretizacion Tita
Fi

In1

Discretizacion Psi

Discretizacion
de la Actuacion

Tita

Out1

psi

Alinealidades3

titap

Saturacion
de la actuacion

Fip

Pendulo no lineal
2.4
K TitaP
3.8
K Psip

de estado
Figura 3.14: Diagrama de bloques de la realimentacion

0.16

0.06

0.14

0.05

0.12

0.04
0.1

Posicin [rad]

Posicin [rad]

0.03
0.08
0.06
0.04

0.02

0.01

0.02

0
0

0.01

0.02
0.04
0

10
12
Tiempo [seg]

14

16

18

20

0.02
0

10

12

14

16

Tiempo [seg]

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

24
KTita
Actuacin
.3
KPsi
tita
u

Discretizacion
de la Actuacion

Saturacion
de la actuacion

Fi

In1

3.8

Out1

2.4
K Psip

Tita

Discretizacion Psi

psi

Out1

Alinealidades

Pendulo no lineal

K TitaP

Dsicretizacion Tita

In1

Estmador velocidad base

Out1

In1

Estmador velocidad Pendulo

de estado con estimador


Figura 3.16: Realimentacion

18

20

de Estado
3.2 Control por Realimentacion

33

24
KTita
Actuacin
.3
KPsi
tita
u

Discretizacion
de la Actuacion

Saturacion
de la actuacion

Fi

In1

3.8

Tita

Discretizacion Psi

psi

Out1

Alinealidades

Pendulo no lineal

Out1

K TitaP

Dsicretizacion Tita

In1

Estmador velocidad base

2.4

Out1

K Psip

In1

Estmador velocidad Pendulo

de estado con observador


Figura 3.17: Realimentacion

0.06

0.15

Posicin del pndulo con Observador


Posicin del pndulo con Estimador

Posicin del Brazo con Observador


Posicin del Brazo con Estimador

0.04
0.1

Posicin [rad]

Posicin [rad]

0.02
0.05

0.02

0.05

0.04

0.1
0

10
12
Tiempo [seg]

14

16

18

20

0.06
0

10

12

Tiempo [seg]

de los resultados de la simulacion

Figura 3.18: Comparacion

14

16

18

20


Dise
no de Controladores y Simulacion

34

informacion
del sistema para estimar las variables de estado. Para terminar de
mas
confirmar esto, veamos en la Figura 3.19, ambas acciones de control. Para tener una idea
de la potencia consumida por el motor calculamos la sumatoria del valor absoluto de la
en el intervalo simulado, dando 577 para el caso del observador y de 1678 para
actuacion
el estimador.
15
Actuacin con observador
Actuacin con estimador
10

Tensin [Volts]

10

15
0

10
12
Tiempo [seg]

14

16

18

20

de la senal
de actuacion

Figura 3.19: Comparacion

Seguimiento a Referencias

Uno de los objetivos basicos


en el control es el de seguimiento de la salida a senales
de re del angulo

ferencias. En nuestro caso esta referencia es sobre la posicion


del brazo. Para
utilizamos el sistema a lazo cerrado, estimando las velocidades angulares
la simulacion,
con el observador calculado en 3.2.3. En la Figura 3.20 comparamos los resultados obtenidos cuando ponemos una referencia constante re f = 6 rad y tomamos la ganancia (3.16),
de estado con ganancia de precompensacion
8 por un lado, y el
utilizando realimentacion
integral que mostramos en 3.2.2 por el otro.
esquema de accion
integral es robusto frente a perturComo dijeramos en 3.2.2, el esquema de accion

baciones constantes. En la Figura 3.21 mostramos como


se comporta un lazo con y sin
integral, donde perturbamos (corrimos el cero) al angulo

accion
del pendulo con 0.2 rad.

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.

de Estado
3.2 Control por Realimentacion

35

Posicin [rad]

4
Ganancia de precompensacin
Accion Integral
Referencia

1
0

10

15

20

25

Tiempo [seg]

entre ganancia de precompensacion


y accion
integral
Figura 3.20: Comparacion

10

Posicin [rad]

0
Ganancia de precompensacin
Accin Integral
Referencia

10

15

20
0

10

15

20

25

Tiempo [seg]

entre ganancia de precompensacion


y accion
integral, perturFigura 3.21: Comparacion
bando a

36

Dise
no 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

concuerdan con los resultados reales. En


los desempenos
obtenidos en la simulacion
de dichos controladores en S IMULINK y los
este captulo mostraremos la implementacion
resultados que obtuvimos al realizar los mismos ensayos con el sistema real.

del Control en Cascada


4.1 Implementacion
mostraremos los resultados que obtuvimos al implementar el lazo de
En esta seccion
3.1. La Figura
control en cascada con los controles K1 ( S) y K2 (s) calculados en la seccion
en diagrama de bloques de S IMULINK, en donde utilizamos
4.1 muestra la implementacion
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

Radianes

K1
ngulo Base

numcas(z)

Selector Manual

dencas(z)

Actuacin

K2

ZeroOrder
Hold1

Motor
0
Constante

Radianes

ngulo Pndulo

Actuacion

ZeroOrder
Hold

Posicin Pendulo

del control en cascada


Figura 4.1: Diagrama de bloques de la implementacion
Para ello cuando
La Figura 4.2 muestra los resultados obtenidos de la implementacion.
vertical ya que este control no
comenzamos el ensayo, mantuvimos el pendulo en posicion
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
que se muestra en la figura. Como podemos ver, el sobrevalor de
como referencia la senal

la salida es considerado, esto podra mejorarse redisenando


el control K2 (s), haciendolo

lento (eligiendo polos para Alc2 mas


pequenos).

mas
Por otro lado podramos tambien
modificar el tiempo de establecimiento, eligiendo K1 (s) mayor, ya que cuanto mayor sea
cerca del eje j estaran
los polos a lazo cerrado, ver Figura 3.6.
dicha ganancia, mas

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]

38

0.05

0.02

0.05

0.02

0.1

0.04

0.15
0

10

15

20
Tiempo [seg]

25

30

35

40

0.06
0

10

15

20
Tiempo [seg]

25

30

35

40

del control en cascada, a la izFigura 4.2: Resultados obtenidos de la implementacion


quierda (t) y a la derecha (t)

4
Posicin del brazo
Referencia

Posicin [rad]

2
0

20

40

60

80
100
Tiempo [seg]

120

140

160

180

del control en cascada, para anaFigura 4.3: Resultados obtenidos de la implementacion


lizar seguimiento

del Control en Realimentacion


de Estados
4.2 Implementacion

39

del Control en Realimentacion


de Estados
4.2 Implementacion
describiremos el desempeno
obtenido de implementar el control por realiEn esta seccion
de estados en el sistema real utilizando el estimador de estados y el observados,
mentacion
3.2. En las Figura 4.4 y 4.5 podemos ver el diagrama de
que calculamos en la seccion

bloques S IMULINK de dicha implementacion.


24

Radianes

ngulo Pndulo

K Tita

ZeroOrder
Hold1
In1

Posicin Base

Out1

Estmador velocidad base1

3.8
K TitaPunto

Selector Manual
Actuacin

In1

Out1

2.4

Posicin Pendulo
Estmador velocidad base

Product

K Psi Punto

Motor
0

.3

Radianes

ngulo Base

Constante

K Psi

ZeroOrder
Hold

Step

Actuacin

0
Referencia

del control por realimentacion


de
Figura 4.4: Diagrama de bloques de la implementacion
estados y el estimador

Posicin Pendulo

24

Radianes

ngulo Pndulo

K Tita

ZeroOrder
Hold1

Actuacion
U
Tita P

3.8
Selector Manual

K TitaPunto

Tita

Actuacin
Psi P

Psi

2.4

Product

Posicin Base
Observador

K Psi Punto

Motor
0

ngulo Base

Step

.3

Radianes

ZeroOrder
Hold

Constante

K Psi

0
Referencia

del control por realimentacion


de
Figura 4.5: Diagrama de bloques de la implementacion
estados y el observador

entre los resultados obtenidos de la impleLa Figura 4.6, muestra la comparacion


del estimador de las velocidades angulares y el observador. Para obtener este
mentacion
utilizamos las mismas ganancias, de K y L calculadas para la simulacion.

desempeno

con el observador es mejor que el del estimador.


Como esperabamos,
el desempeno
de
En la Figura 4.7 comparamos las actuaciones con uno y otro metodo de estimacion
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 Brazo con Estimador

0.8

Posicin del Pndulo con Observador


Posicin del Pndulo con Estimador
0.04

0.6
0.4

Posicin [rad]

Posicin [rad]

0.02

0.2
0
0.2

0.02

0.4
0.6

0.04

0.8
1
20

22

24

26

28

30
32
Tiempo [seg]

34

36

38

40

0.06
20

22

24

26

28

30
32
Tiempo [seg]

34

36

38

40

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 relacion
entre ambos es bastante parecida.
la simulacion,
6
Actuacin con Observador
Actuacin con Estimador
4

Posicin [rad]

6
20

22

24

26

28

30
32
Tiempo [seg]

34

36

38

40

de actuaciones
Figura 4.7: Comparacion

4.3

de la Accion
Integral
Implementacion

analizaremos como

de estados,
En esta seccion
se comporta el sistema con realimentacion

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

de la Accion
Integral
4.3 Implementacion

41

del esquema de accion


integral y el
grafico
de la izquierda representa a la implementacion

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

Posicin [rad]

Posicin [rad]

2
1

0.5

1.5
1
0.5
0

0.5
0.5
0

20

40

60

80

100
120
Tiempo [seg]

140

160

180

200

1
0

20

40

60

80

100
120
Tiempo [seg]

140

160

180

200

de referencia onda cuadrada


Figura 4.8: Seguimiento a una senal
son bastante
Dado que los resultados obtenidos con la ganancia de precompensacion
malos, Figura derecha de 4.8, modificamos las ganancias para obtener un mejor desem Tomando
peno.


K = 32.04 2.50 5.06 2.5
obtuvimos los resultados de la Figura 4.9
2
Posicin del Brazo
Referencia

Posicin [rad]

1.5

0.5

0.5
0

20

40

60

80

100

120

140

160

180

200

Tiempo [seg]

de referencia onda cuadrada con ganancia de precomFigura 4.9: Seguimiento una senal

pensacion

42

Ensayos de Controladores sobre el Sistema Real

Captulo 5

Analisis
del efecto de las cuantizaciones y de
las perturbaciones del motor
del
Con el fin de realizar el proyecto con un bajo presupuesto, para la construccion
pendulo utilizamos mayormente componentes que se encontraban en el stock del Labora
torio de Electronica
de la Universidad. Como vimos en el Capitulo 1 dichos componentes
del lazo cerrado, que hicieron que
imponen ciertas restricciones fsicas en el desempeno

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 posterior
ras. Para comprobar si dichas mejoras son justificables en cuanto al desempeno
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.

en la cuantificacion
del Actuador y de los Sensores
5.1 Disminucion
de los conversores digitalLa primera mejora que se nos ocurre es aumentar la resolucion

analogico
(para la actuacion),
y analogico-digital
(para el sensor del pendulo). La reso actual del conversor-digital analogico

lucion
es de ocho bits obteniendo una variacion
de 0.05859 V, aumentaremos dicha resolucion
con un conversor de domnima de tension
utilizamos para el sensor de posicion

ce bits (0.0036 V). El mismo aumento de resolucion


del bradel pendulo, pasando de 0.0024 rad a 0.0012 rad. En cuanto al sensor de posicion
en forma categorica,

zo, no podremos aumentar la la resolucion


debido a la velocidad del
es
contador de pulsos implementado en la PC comenzara a perder pulsos. Una solucion
implementar dicho contador a traves de un circuito integrado dedicado y luego leer dicho

supusimos
valor en la PC a traves de un conversor digital-analogico.
Para la simulacion
del sensor a 0.0003rad.
que podramos aumentar la resolucion

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.
de los conversores
Como pudimos ver en la Figura 5.1, el aumento en la resolucion
del sistema. Pero como vimos en 1.2.1 s
no representa una mejora en el desempeno
del conversor digital-analogico

es mejor aumentar la resolucion


ya que podemos de esa
de alimentacion
al motor, de esa forma aumentar su reaccion.

forma aumentar la tension

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
y
estatica


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

44
0.12

0.06
Con mejoras
Sin mejoras

0.08

0.04

0.06

0.03

0.04

0.02

0.02
0

0.01
0

0.02

0.01

0.04

0.02

0.06

0.03

0.08
0

10

15

20

Con mejoras
Sin mejoras

0.05

Posicin [rad]

Posicin [rad]

0.1

0.04
0

25

10

Tiempo [seg]

15

20

25

Tiempo [seg]

entre el sistema con y sin ampliacion


en la resolucion
del actuaFigura 5.1: Comparacion
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
se puede lograr, por ejemplo, utilizando un motor con rodamientos
5.2. Esta disminucion
a rulemanes.
0.12

0.06
Con mejoras
Sin mejoras

0.08

0.04

0.06

0.03

0.04

0.02

0.02
0

0.01
0

0.02

0.01

0.04

0.02

0.06

0.03

0.08
0

10

15
Tiempo [seg]

20

Con mejoras
Sin mejoras

0.05

Posicin [rad]

Posicin [rad]

0.1

25

0.04
0

10

15

20

25

Tiempo [seg]

entre el sistema con friccion


estatica

Figura 5.2: Comparacion


y reduciendola 20 veces,
derecha (t) y a la izquierda (t)

disminuimos el juego del eje, Figura 5.3. Esta


Veamos ahora que sucede si ademas
se puede lograr, por ejemplo, utilizando una reduccion
con correas dentadas
disminucion
en lugar de engranajes.

Concluimos, a partir de los ensayos realizados, que para obtener un mejor desempeno
las perturbaciones originadas por el motor.
hay que centrarse en la disminucion

5.2 Mejoras fsicas del motor

45

0.12

0.06
Con mejoras
Sin mejoras

0.08

0.04

0.06

0.03

0.04

0.02

0.02
0

0.01
0

0.02

0.01

0.04

0.02

0.06

0.03

0.08
0

10

15
Tiempo [seg]

20

Con mejoras
Sin mejoras

0.05

Posicin [rad]

Posicin [rad]

0.1

25

0.04
0

10

15

20

Tiempo [seg]

entre el sistema , derecha (t) y a la izquierda (t)


Figura 5.3: Comparacion

25

46

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

Captulo 6

Conclusiones
y el posterior control a traves de una PC del
En este informe describimos la construccion
de utilizar un software en tiempo real fue una
pendulo invertido rotatorio. La eleccion
gran ventaja, dado que pudimos desarrollar controladores, observadores y estimadores
nos permitio almacenar los datos obtenidos del sistema para
en forma sencilla. Ademas

analisis
y ajuste de los parametros
del modelo matematico.

El modelo matematico
que obtuvimos, y el metodo de ajuste de los parametros
en forma
iterativa, mostro ser fiel al sistema real. Esto resulta una ventaja cuando los controladores

basados en dicho modelo.


que disenamos
estan
Las tecnicas de control que desarrollamos son tecnicas lineales. Aunque utilizamos
un sistema no lineal, mostramos que es posible desarrollar tecnicas simples aunque el
de diseno
que
modelo es complejo. Todas las tecnicas coinciden en la especificacion
asintotica

planteamos: estabilizacion
del angulo
del pendulo y seguimiento a referencias

constantes del angulo


de giro del brazo.
del control en cascada fue sencillo ya que supone que el sistema es de una
El diseno
entrada y una salida y de esta forma permite utilizar cualquier tecnica de control que
entrada salida. La implementacion
fue inmediata dado que solo
utilice la representacion
obtenido
necesitamos medir las variables que tenemos disponibles. Si bien el desempeno
a lazo cerrado fue bueno, la estabilidad resulta muy sensible a perturbaciones.
de control por realimentacion
de estado, siguiendo el criterio de optimizacion

El diseno
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
de cada una de las variables de estado y de la senal
de control. Para imlas ponderacion
de estados fue necesario desarrollar tecnicas que
plementar el control por realimentacion
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
alcanzado por el segundo mejor, dado que la amplitud de las
implementar, el desempeno

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.

de estado, le agregamos accion


integral para
Por ultimo,
al sistema con realimentacion
lograr seguimiento de referencias constantes. Con este esquema, logramos no solo que
robusto el lazo cerrado del sistema.
siga referencias constantes sino tambien hicimos mas
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


es que para mejorar el desempeno,
hay que centrarse en
que obtuvimos por simulacion

disminuir el roce estatico


y el juego en el eje del motor.

48

Conclusiones


Apendice
A

detallada de los componentes del


Descripcion
Sistema
A.1 Controlador
A.1.1 Especificaciones de la PC
de Datos
A.1.2 Placa de Adquisiscion
de memoEn la Tabla A.1, podemos ver las distintas direcciones de la placa. La direccion
DIR h
xx0
xx1
xx2
xx8
xx9
xxA
xxB
xxC
xxD
xxE
xxF

Lectura
Entrada

Datos
EOC

Escritura
Salida
DAC1
DAC2
Start 0
Start 1
Start 2
Start 3
Start 4
Start 5
Start 6
Start 7

Digital
Salidas

Analogicas

Entradas

Analogica

Tabla A.1: Direcciones de memoria


por defecto es
ria base se elige a traves de tres jumpers ubicados en la placa. La direccion
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 escribir 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,

detallada de los componentes del Sistema


Descripcion

50

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


de actuacion
entregada por la PC es de
1. Se
nal de actuacion
de baja potencia. La senal
nominal de trabajo del motor es
5V y en el orden de los mA., mientras que la tension
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
que lo alimenta.
necesario invertir la tension
3. Consumo de energa. Para variar la velocidad de un motor de corriente continua exis comun
de ellos es variar la tension
de alimentacion
del
ten varios metodos. El mas
proporcional en el numero

mismo, obteniendo una variacion


de revoluciones. Uno
de potencia de los amplificadores utilizados para
de los problemas es la disipacion

alimentar el motor, ya que si queremos alimentar al motor con la mitad de tension


nominal, la mitad de la potencia entregada por la fuente de alimende alimentacion
se disipa en el amplificador. Este metodo es muy utilizado si necesitamos que
tacion
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
es decir, conducen o no conducen.
canal P que los haremos trabajar en corte o saturacion,
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,
aplicada. Para lograr que los transistores conduzcan o no en el
invertimos la tension

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.
de ancho
El metodo que utilizamos para solucionar el problema 3, es el de modulacion
cuadrada de una frecuencia
de pulso (PWM), en el cual se alimenta al motor con una senal
nominal del motor, a la cual se le modifica el
determinada y amplitud igual a la tension
proporcional a ese tiempo. Al ser la
tiempo activo, obteniendo una media de tension
frecuencia de la onda mucho mayor al tiempo de respuesta del motor, e ste ve en sus
media resultante. La diferencia que existe con el primer metodo es que
bornes la tension
nominal al motor.
en este caso, siempre se le aplica la tension
analogica

El circuito PWM que implementamos, Figura A.2, tiene como entrada una senal
del tiempo activo de la senal
PWM se realiza a traves de dicha ende 0 - 5V, la variacion
trada. La frecuencia de PWM que utilizamos es 250Hz.

A.2 Actuador

51
15V

15V

5V

5V

15V

10K
820

10K
820

MOS1

820

15V

MOS3

MOS2
MOS4

Motor

820
15V

10K

10K
820

820

820

5V

5V

Logica de Control
Direccion

On/Off

Figura A.1: Puente H


5V

50K
1M
12V

5V

1M

47K
7

12V

1K
6

+
+

820

74HC14

12V

Vin

50K

47nF

12V

ne555

2
1

10K
12V

PWM
7

del PWM
Figura A.2: Circuito de implementacion

detallada de los componentes del Sistema


Descripcion

52

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

s1

A
Receptor

Emisor

tiempo
s2

Figura A.3: Diagrama de un encoder incremental


Cuando una ranura se encuentra entre el diodo emisor de luz y el fotodiodo, el fotodiodo 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

Sentido de giro

Figura A.4: Senales


en los fotodiodos

de los sensores. Este


El defasaje de 90 grados de las senales
es debido a la ubicacion

a la Figura
defasaje es util para detectar el sentido de giro del eje, si prestamos atencion
adelanta a la otra. ToA.4, podemos ver que dependiendo del sentido de giro una senal
s1 para contar los pulsos, en cada flanco ascendente de s1 contamos
mamos a una senal
un pulso, ahora tenemos que saber si lo sumamos o lo restamos, dependiendo el sentido
la obtenemos de la senal
s2 . Si s2 esta en alto, la sumamos, si
de giro. Esa informacion
esta en bajo la restamos.

es
Una de las ventajas de este tipo de sensor de angulo,
es que el rango de medicion
ilimitado, mientras que la mayor desventaja es que los pulsos entregados por el encoder
son de alta frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos.

A.3 Sensores

53

En nuestro caso este sensor se encuentra solidario al eje del motor y la placa ranurada
o
de 360
cuenta con 20 ranuras, lo que representa una precision
40 , ya que contamos los

1:130, al dar el
pulsos de ambas senales.
Debido a que el motor posee una reduccion
1
a
motor una vuelta el eje exterior da 130 vueltas. Por lo tanto aumentamos la precision
2
40130 = 0.0012 rad / pulso.

La logica
para contar los pulsos fue realizada en el S IMULINK, en la Figura A.5 podemos

ver dicha implementacion.


1
S1
In1
Out1
In2

2
S2

1
In1

SubSystem

NOT

2*pi/5150
Conversion de
pulsos a Radianes

In1

1
Radianes

Logical
Operator

1
Out1

2
In2

Out1

Trigger
In2

SubSystem1

del Contador de Pulsos


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

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

Vout

Figura A.6: Sensor Magneto-Resistivo

solidario al pendulo, Figura A.7, al moverse el


En nuestro caso, colocamos un iman
entregada por el sensor
pendulo vara el campo magnetico sobre el sensor. La senal
para que
es del orden de los 50 V, por lo tanto fue necesario acondicionar la senal
de datos.
se encuentre en el rango de 0V a 5V requeridos por la placa de adquisicion
en la Figura A.8.
Podemos ver el circuito de implementacion
que colocamos, este sensor solo trabaja en un rango de angulo

Debido al iman
de para
terminado, 60o . Como solamente utilizaremos el rango 18o , ajustamos la senal
de 18o , as obtenemos mayor precision
en la
que los 0-5V correspondan a una variacion

conversion.

detallada de los componentes del Sistema


Descripcion

54

Pendulo
60o

Iman

Brazo

Eje

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

22K

Vo Sensor Magnetico
22K

12V

Vo : 0 5V
12V

12V

820K
1M
47nF
10K
12V

12V

4, 7K

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 Limitations 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