Vous êtes sur la page 1sur 71

2011

Ejercicios de controladores

Helmer Josu Tuz Poot


Profesor:M.I.Alban Alejandro vila Lpez
12/9/2011

ndice
Ejemplo 1: Modelacin de un sistema de Control de Marcha
Ejemplo 2: Modelacin de Velocidad del Motor
de DC Reconocimiento Fsico y sistema de ecuaciones

Ejemplo 3: Modelacin de Posicin de un Motor de DC


Ejemplo 4: Modelacin de un de Sistema de Suspensin
Para un Bus usando Funcin de Transferencia
Ejemplo 5: Modelacin de un Control de Inclinacin
Ejemplo 6: Modelacin del Experimento Barra y Bola
Valores propuestos para cada ejercicio
Bibliografa

Ejemplo 1.Modelacin de un sistema de Control de Marcha


Reconocimiento Fsico y sistema de ecuaciones
El modelo del sistema de control de marcha es relativamente simple. Si se
desprecia la inercia de las ruedas, y si se asume que la friccin (la cual es
proporcional a la velocidad del auto) es tal que se opone al movimiento del auto,
entonces el problema se reduce al sistema simple de masa y resorte mostrado
abajo.

Usando la ley de Newton, las ecuaciones de modelado para este sistema son:

(1)
Donde u es el esfuerzo del motor. Para este ejemplo, asumamos que:
m = 1000kg
b = 50N sec/m
u = 500N
Requerimientos de diseo
El paso siguiente para modelar este sistema es incorporar algunos criterios de
diseo. Cuando el motor proporciona una fuerza de 500 Newton, el auto
alcanzar una velocidad mxima de 10 m/s (22 mph). Un auto debera poder

acelerar hasta esa velocidad en menos de 5 segundos. Como este es slo un


sistema de control de marcha, un 10% de sobrepico en la velocidad no har
mucho dao. Un 2% de error de estado estacionario es tambin aceptable por la
misma razn.

Teniendo en mente lo anterior, hemos propuesto los siguientes criterios de


diseo para este problema:
Tiempo de subida < 5 seg.
Sobrepico < 10%
Error de Estado Estacionario < 2%
Representacin en Matlab
1. Funcin de Transferencia
Para hallar la funcin de transferencia del sistema continuo de arriba,
necesitamos tomar la transformada de Laplace de las ecuaciones del modelo (1).
Cuando se encuentra la funcin de transferencia, debe asumirse
condiciones iniciales nulas. La transformada Laplace de las dos ecuaciones
se muestra abajo.

Como nuestra salida es la velocidad, sustituyamos V(s) en trminos de Y(s)

La funcin de transferencia del sistema es

Para resolver este problema usando Matlab.


m=1000;
b=50;
u=500;
num=[1];
den=[m b];
Respuesta a lazo abierto

Ahora veamos cmo responde el sistema a lazo abierto a una entrada escaln.
Copie el siguiente comando al final del archivo-m escrito para la funcin de
transferencia (el archivo-m con las matrices num y den) y ejectelo en la
ventana de comandos del Matlab:
step(u*num,den)

Debera obtenerse la figura siguiente:

Funcin de transferencia a Lazo Cerrado


Para resolver este problema y mejorar la performance del sistema,
adicionaremos un controlador y una realimentacin unitaria. La figura que se
muestra abajo es el diagrama en bloque de un sistema tpico.

La funcin de transferencia de la planta es la funcin de transferencia derivada


arriba {Y(s)/U(s)=1/m.s + b}. El controlador se disear para satisfacer todos
los criterios de diseo. Para la poder resolver el problema se usan controladores
proporcional, integral y diferencial.

Funcin de transferencia de un PID.

Control proporcional
Funcin de transferencia a lazo cerrado con el controlador proporcional es:

Un controlador proporcional (Kp) decrementa el tiempo de elevacin.


Por ahora, hagamos Kp igual a 100 y vea qu sucede con la respuesta.
Representacin de los comandos utilizados para el programa.
kp=100;
m=1000;
b=50;
u=10;
num=[kp];
den=[m b+kp];
t=0:0.1:20;
step(u*num,den,t)
axis([0 20 0 10])
Corriendo este programa en Matlab nos debe dar la siguiente respuesta al
escaln.

Usando el comando cloop para hallar la respuesta a lazo cerrado directamente


de la funcin de transferencia a lazo abierto. Si elige en hacerlo con el siguiente
programa y debera obtenerse la misma figura coma la de abajo.
kp=100;
m=1000;
b=50;
u=10;
num=[1];
den=[m b];
[numc,denc]=cloop(kp*num,den,-1);
t = 0:0.1:20;
step (u*numc,denc,t)
axis([0 20 0 10])
Como puede ver del grfico, tanto el error de estado estacionario cuanto el
tiempo de elevacin no satisfacen nuestros criterios de diseo. Puede
incrementar la ganancia proporcional (Kp) para mejorar la salida del sistema.
Cambiando Kp = 10000, Debera verse la figura siguiente.

Control PI
La funcin de transferencia a lazo cerrado de este sistema de control de marcha
con controlador PI es:

Un controlador integral al sistema elimina el error de estado estacionario. Por


ahora, haga Kp = 600 y Ki = 1 y vea qu sucede con la respuesta.
kp = 600;
ki = 1;
m=1000;
b=50;
u=10;
num=[kp ki];
den=[m b+kp ki];
t=0:0.1:20;
step(u*num,den,t)
axis([0 20 0 10])
Para obtener la respuesta a lazo cerrado directamente de la funcin de
transferencia a lazo abierto, ingrese los siguientes comandos en lugar de los que
se muestran abajo:
kp = 600;
ki = 1;
m = 1000;
b = 50;
u = 10;
num = [1];
den = [m b];
num1= [kp ki];
den1= [1 0];
num2=conv(num,num1);
den2=conv(den,den1);
[numc,denc]=cloop(num2,den2,-1);
t=0:0.1:20;
step(u*numc,denc,t)
axis([0 20 0 10])
Cualquiera sea el archivo-m que corra, debera obtenerse la siguiente salida:

Ahora ajustemos tanto la ganancia proporcional (Kp) cuanto la ganancia


integral (Ki) para obtener la respuesta deseada. Cuando usted ajuste la ganancia
integral (Ki), mejor que empiece con un valor chico, ya que grandes (Ki) casi
siempre inestabilizan la respuesta.

Con Kp igual a 800 y Ki igual a 40, la respuesta al escaln lucir como la


siguiente:

Como puede ver, esta respuesta al escaln cumple con todos los criterios de
diseo.
Control PID
Para este ejemplo particular, no se requiri la implementacin de un
controlador derivativo para obtener una salida acorde con lo requerido. Sin
embargo, quisiera ver cmo trabajar con un controlador PID para futuras
referencias. La funcin de transferencia a lazo cerrado de este sistema de
control de marcha con el controlador PID es.

Hagamos Kp = 1, Ki = 1, y Kd = 1 .
kp=1;
ki=1;
kd=1;
m=1000;
b=50;
u=10;
num=[kd kp ki];
den=[m+kd b+kp ki];
t=0:0.1:20;
step(u*num,den,t)
axis([0 20 0 10])

10

Luego de correr este programa nos debera dar la respuesta al escaln del
sistema con el controlador PID. Ajuste los valores de Kp, Kd, y Ki hasta que
obtenga resultados satisfactorios. Lo dejaremos como ejercicio para que lo
trabaje.
Sugerencia: Usualmente escoger ganancias adecuadas requiere de un proceso
de prueba y error. La mejor forma de atacar este proceso es ajustar una sola
variable (Kp, Kd, o Ki) a la vez y observar cmo cambiando slo esa, se influye
en la salida del sistema.

11

Ejemplo 2.- Modelacin de Velocidad del Motor de DC

Reconocimiento Fsico y sistema de ecuaciones


El motor de DC es un actuador comn en control sistemas. Provee movimiento
rotatorio directamente y, acoplado con ruedas dentadas o poleas y cables, puede
proveer movimiento transicional. El circuito elctrico de la armadura y el
diagrama de cuerpo libre del rotor se muestran en la siguiente figura:

Para este ejemplo, asumimos los valores siguientes para los parmetros fsicos.
Estos valores se derivaron experimentalmente de un motor real del laboratorio
de control para alumnos de grado del Carnegie Mellon.

momento de inercia del rotor (J) = 0.01 kg.m^2/s^2


coeficiente de amortiguamiento del sistema mecnico (b) = 0.1 Nms
constante de fuerza electromotriz (K=Ke=Kt) = 0.01 Nm/Amp
resistencia elctrica (R) = 1 ohm
inductancia elctrica (L) = 0.5 H
entrada (V): Fuente de Tensin
salida (theta): posicin del eje
el rotor y eje se consideran rgidos

El torque del motor, T, se relaciona con la corriente de armadura, i, por un


factor constante Kt. La fuerza contra electromotriz (fme), e, se relaciona con la
velocidad de rotacin mediante las siguientes ecuaciones

12

En unidades del sistema internacional SI (las que usaremos), la Kt (constante


de armadura) es igual a Ke (constante del motor).
De la figura de arriba podemos escribir las siguientes ecuaciones basadas en la
ley de Newton combinado con la ley de Kirchhoff:

Funcin de Transferencia
Usando Transformadas de Laplace, las ecuaciones del modelo de arriba pueden
expresarse en trminos de s.

Eliminando I(s) podemos obtener la siguiente funcin de transferencia a lazo


abierto, donde la velocidad de rotacin es la salida y el voltaje es la entrada.

Espacio de Estado
En la forma espacio de estado, las ecuaciones de arriba pueden expresarse
escogiendo la velocidad de rotacin y corriente elctrica como las variables de
estado y la tensin como una entrada. La salida se elige que sea la velocidad de
rotacin.

Requerimientos de diseo
Primero, el motor sin compensar puede rotar solo a 0.1 rad/seg. Con una
tensin de entrada de 1 Volt (esto se demostrar luego cuando se simule la
respuesta a lazo abierto). Como el requerimiento ms bsico de un motor es que
debe rotar a la velocidad deseada, el error de estado estacionario de la velocidad
del motor debe ser menor que 1%. El otro requerimiento de performance es que

13

el motor debe acelerarse hasta su velocidad de estado estacionario apenas se


encienda. En este caso, queremos tener un tiempo de establecimiento de 2
segundos. Como una velocidad mayor que la referencia podra daar el equipo,
queremos tener un sobrepico menor que 5%.
Si simulamos la entrada de referencia (r) con una entrada escaln unitario,
entonces la salida velocidad del motor debera tener:

Tiempo de establecimiento menor que 2 segundos


Sobrepico menor que 5%
error de estado estacionario menor que 1%

Representacin en Matlab y respuesta a lazo abierto


Funcin de Transferencia
Podemos representar la funcin de transferencia anterior en Matlab definiendo
las matrices numerador y denominador como sigue:

Programa para hallar la funcin de transferencia de lazo abierto.


J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
Ahora veamos qu hace el sistema original a lazo abierto. Agregue los siguientes
comandos y ejecutarlo.
step(num,den,0:0.1:3)
title('Respuesta al Escaln del sistema a lazo abierto')

Debera obtenerse la figura siguiente:

14

De la figura vemos que cuando se aplica 1 volt al sistema, el motor puede lograr
solo una velocidad mxima de 0.1 rad/seg., diez veces menor que la velocidad
deseada. Adems, el motor tiene 3 segundos para alcanzar su velocidad de
estado estacionario; esto no satisface los 2 segundos del criterio de tiempo de
establecimiento.
Espacio de Estado
Podemos tambin representar el sistema usando las ecuaciones de espacio de
estado. Pruebe los siguientes comandos en un nuevo archivo-m.
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
A=[-b/J K/J -K/L -R/L];
B=[0 1/L];
C=[1 0];
D=0;
step(A, B, C, D)
Corra este archivo-m en la ventana de comandos del Matlab, y obtenga la misma
salida que la de arriba.

A partir del problema principal, las ecuaciones dinmicas y la funcin


transferencia a lazo abierto del Motor de DC son:

15

y el esquema del sistema se ve:

Los criterios de diseo con una entrada escaln de 1 rad/seg. Son:

Tiempo de establecimiento menor que 2 segundos


Sobrepico menor que 5%
Steady-stage error menor que 1%

Diseemos ahora un controlador PID adicionmoslo al sistema. Cree primero


un archivo-m nuevo y tipee los siguientes comandos (pinche en Modelacin del
motor de cc por detalles sobre estos comandos).
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];

Recordemos que la funcin de transferencia para un controlador PID es:

Control proporcional
Tratemos de usar primero un controlador proporcional con una ganancia de
100. Agregue el siguiente cdigo al final de su archivo-m:

16

Kp=100;
numa=Kp*num;
dena=den;
Para hallar la funcin de transferencia a lazo cerrado, usamos el comando cloop
. Agregue la siguiente lnea a su archivo-m:
[numac,denac]=cloop(numa,dena);
Note que numac y denac son el numerador y el denominador de la funcin de
transferencia a lazo cerrado general.
Ahora veamos cmo se ve la respuesta al escaln, agregue lo siguiente al final de
su archivo-m, y ejectelo en la ventana de comandos:
t=0:0.01:5;
step(numac,denac,t)
title('Respuesta al escaln con Control Proporcional')
Debera obtenerse la figura siguiente:

Control PID
De la figura de arriba vemos que tanto el error de estado estacionario cuanto el
sobrepico son muy grandes. Recordemos del tutorial PID que incorporando un
trmino integral se eliminar el error de estado estacionario y un trmino

17

derivativo reducir el sobrepico. Probemos un controlador PID con Ki y Kd


pequeos. Modifique su archivo-m de manera que se sea ve lo siguiente. Luego
de correr este nuevo archivo-m se da la figura siguiente.
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
Kp=100;
Ki=1;
Kd=1;
numc=[Kd, Kp, Ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID con pequeo Ki and Kd')

Sintonizacin de ganancias
Ahora el tiempo de establecimiento es muy largo. Incrementemos Ki para
reducir el tiempo de establecimiento. Regrese Al programa anterior y cambie K i
a 200. Vuelva a ejecutar el archivo y debera obtenerse un grfico como ste:

18

Ahora vemos que la respuesta es mucho ms rpida que antes, pero el Ki grande
ha empeorado la respuesta transitoria (gran sobrepico). Incrementemos Kd
para reducir el sobrepico. Vuelva programa antgerior y cambie Kd a 10. Vuelva a
correrlo para obtener este grfico:

Entonces sabemos que si usamos un controlador PID con


Kp=100,
Ki=200,
Kd=10,

19

Todos nuestros requerimientos de diseo sern satisfechos.

Ejemplo 3.-Modelacin de Posicin de un Motor de DC


Reconocimiento fsico
El motor de DC es un actuador comn en control sistemas. Provee movimiento
rotatorio directamente y, acoplado con ruedas dentadas o poleas y cables, puede
proveer movimiento transicional. El circuito elctrico de la armadura y el
diagrama de cuerpo libre del rotor se muestran en la siguiente figura:

Para este ejemplo, asumimos los valores siguientes para los parmetros fsicos.
Estos valores se derivaron experimentalmente de un motor real del laboratorio
de control para alumnos de grado del Carnegie Mellon.

momento de inercia del rotor (J) = 0.01 kg.m^2/s^2


coeficiente de amortiguamiento del sistema mecnico (b) = 0.1 Nms
constante de fuerza electromotriz (K=Ke=Kt) = 0.01 Nm/Amp
resistencia elctrica (R) = 1 ohm
inductancia elctrica (L) = 0.5 H
entrada (V): Fuente de Tensin
salida (theta): posicin del eje
el rotor y eje se consideran rgidos

20

Ecuaciones del Sistema


El torque del motor, T, se relaciona con la corriente de armadura, i, por un
factor constante Kt. La fuerza contra electromotriz (fme), e, se relaciona con la
velocidad de rotacin mediante las siguientes ecuaciones

En unidades del sistema internacional SI (las que usaremos), Kt (constante de


armadura) es igual a Ke (constante del motor).
De la figura de arriba podemos escribir las siguientes ecuaciones basadas en la
ley de Newton combinado con la ley de Kirchhoff:

1. Funcin de Transferencia
Usando Transformadas de Laplace las ecuaciones del modelo de arriba pueden
expresarse en trminos de s.

Eliminando I(s) podemos obtener la siguiente funcin de transferencia, donde


la velocidad de rotacin es la salida y la tensin es una entrada.

Sin embargo como durante este ejemplo estamos mirando a la posicin, como
que es la salida. Podemos obtener la posicin integrando Theta Punto, por lo
tanto solo necesitamos dividir la funcin de transferencia por s.

21

2. Espacio de Estado
Estas ecuaciones pueden tambin representarse en la forma espacio de estado.
Si elegimos posicin del motor, velocidad del motor, y corriente de armadura
como las variables de estado, podemos escribir las ecuaciones como sigue:

Requerimientos de diseo
Quisiramos poder posicionar muy precisamente al motor, entonces el error de
estado estacionario de la posicin del motor debera ser cero. Adems
quisiramos que el error de estado estacionario debido a una perturbacin
tambin sea nulo. El otro requerimiento a la performance es que el motor
alcance muy rpidamente su posicin final. En este caso, queremos tener un
tiempo de establecimiento de 40ms. y un sobrepico menor que 16%.
Si simulamos la entrada de referencia (R) por una entrada escaln unitario,
entonces la salida velocidad del motor debera tener:

Tiempo de establecimiento menor que 40 milisegundos


Sobrepico menor que 16%
Error de estado estacionario nulo
Sin error de estado estacionario debido a una perturbacin

Representacin en Matlab y respuesta a lazo abierto


1. Funcin de Transferencia
Podemos poner la funcin de transferencia en Matlab definiendo el numerador
y el denominador como vectores:
Variables del programa:
J=3.2284E-6;
b=3.5077E-6;

22

K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
Ahora veamos qu hace el sistema original a lazo abierto. Con la siguiente
variable.
step(num,den,0:0.001:0.2)
Debera obtenerse la figura siguiente:

De la figura vemos que cuando se aplica 1 volt al sistema, la posicin del motor
cambia en 6 radianes, seis veces mayor que la posicin deseada. Para una
entrada escaln de 1 volt, el motor debe girar alrededor de 1 radian. Adems, el
motor alcanza un estado estacionario que no satisface los criterios de diseo.
A partir del problema principal las ecuaciones dinmicas en la forma funcin de
transferencia son las siguientes:

23

y el esquema del sistema se ve:

Con una referencia escaln de 1 rad/seg., los criterios de diseo son:

Tiempo de establecimiento menor que 0.04 segundos


Sobrepico menor que 16%
No error de estado estacionario
No error de estado estacionario debido a una perturbacin

Programa de la funcin de transferencia:


J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
Recordemos que la funcin de transferencia para un controlador PID es:

Control proporcional
Tratemos de usar primero un controlador proporcional con una ganancia de 1.7.
agregando al programa los siguientes comandos:
Kp=1.7;
numcf=[Kp];
dencf=[1];
numf=conv(numcf,num);
denf=conv(dencf,den);
Para hallar la funcin de transferencia a lazo cerrado, usamos el comando cloop
.
[numc,denc]=cloop(numf,denf);

24

Note que numc y denc son el numerador y el denominador de la funcin de


transferencia a lazo cerrado general.
Ahora veamos cmo luce la respuesta al escaln. Agregando como ultimo los
comandos siguientes:
t=0:0.001:0.2;
step(numc,denc,t)
Debera obtenerse la figura siguiente:

Veamos ahora la respuesta a una perturbacin escaln agregando los siguientes


comandos:
numdcl=conv(numc,1);
dendcl=conv(denc,Kp);
step(numdcl,dendcl,t);
Debera obtenerse la figura siguiente:

25

Control PID
De las figuras de arriba vemos que a pesar que el error de estado estacionario se
v bien, el tiempo de establecimiento es muy grande, as como el sobrepico.
Tambin vemos que el error de estado estacionario a una perturbacin es
grande. Recordemos del PID, que incorporando un trmino integral se elimina
el error de estado estacionario y un trmino derivativo reducir el sobrepico.
Probemos primero el controlador PI para anular el error de estado estacionario
a la perturbacin. Cambiar el archivo anterior por estos nuevos comandos:
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
Kp=1.7;
Ki=20;
numcf=[Kp Ki];
dencf=[1 0];
numf=conv(numcf,num);
denf=conv(dencf,den);
[numc,denc]=cloop(numf,denf,-1);
t=0:0.001:0.4;
step(numc,denc,t)
Debera obtenerse la siguiente respuesta al escaln:

26

Veamos que ha sucedido con la respuesta a una perturbacin escaln, agregue lo


siguiente a su archivo-m:
figure
numdcl=conv(numc,dencf);
dendcl=conv(denc,numcf);
step(numdcl,dendcl,t);
Debera obtenerse la figura siguiente:

Sintonizacin de ganancias

27

El tiempo de establecimiento todava es alto. Incrementemos las ganancias para


acelerar la respuesta. Regrese a su archivo-m y cambie Ki a 200 y Kp a 17.
Vuelva a ejecutar el archivo y obtenga grficos como estos:

Ahora vemos que la respuesta es ms rpida que antes, pero Ki ha estropeado la


respuesta transitoria (sobrepico grande). Intentemos con un controlador PID
para reducir el sobrepico. Regrese al programa anterior y efecte las siguientes
modificaciones para ver la respuesta al escaln.
Kp=17;
Ki=200;
Kd=0.15;
numcf=[Kd Kp Ki];
dencf=[1 0];
numf=conv(numcf,num);
denf=conv(dencf,den);

28

[numc,denc]=cloop(numf,denf,-1);
t=0:0.001:0.1;
step(numc,denc,t)
Ejectelo de nuevo y obtenga esta figura:

Vemos que nuestra respuesta al escaln se v realmente bin, tiene un sobrepico


menor que el 16%, y el tiempo de establecimiento es cercano a los 40ms, y hay
error de estado estacionario cero. Sin embargo la respuesta a una perturbacin
escaln ahora es lentsima. Incrementemos Ki para acelerar la respuesta a la
perturbacin. Modifique Ki a 600 y vuelva a correr el programa. Debera
obtenerse los grficos siguientes:

29

Ejemplo 4.- Modelacin de un de Sistema de Suspensin


para un Bus usando Funcin de Transferencia
Reconocimiento Fsico

El diseo de un sistema de suspensin automtico para un colectivo se vuelve


un problema de control interesante. Cuando se disea el sistema de suspensin,
se usa 1/4 del modelo del colectivo (una de las cuatro ruedas) para simplificar el
problema a un sistema masa-resorte unidimensional. Abajo aparece un
diagrama de este sistema:

30

Dnde:
* masa del cuerpo (m1) = 2500 kg,
* masa suspendida (m2) = 320 kg,
* constante de elasticidad del sistema de suspensin(k1) = 80,000 N/m,
* constante de elasticidad rueda y neumtico(k2) = 500,000 N/m,
* constante de amortiguacin del sistema de suspensin(b1) = 350 Ns/m.
* constante de amortiguacin rueda y neumtico(b2) = 15,020 Ns/m.
* fuerza de control (u) = fuerza del controlador que estamos diseando.
Requerimientos de diseo:
Un buen sistema de suspensin debera tener un satisfactorio agarre al camino,
que provea confort aun cuando transita sobre lomas y baches en la ruta. Cuando
el colectivo est experimentando cualquier perturbacin en el camino (es decir,
rajaduras, pavimento no balanceado),la carrocera del colectivo no debe sufrir
grandes oscilaciones, y las mismas deben disiparse rpido. Como la distancia
X1-W es muy difcil de medir, y la deformacin del neumtico(X2-W) se
desprecia, usaremos la distancia X1-X2 en lugar de X1-W como la salida en
nuestro problema. Tenga en cuenta que esta es una estimacin.
La perturbacin del camino (W) en este problema se simular por una entrada
escaln. Este escaln podra representar al colectivo saliendo de un pozo.
Queremos disear un controlador realimentado de modo que la salida (X1-X2)
tenga un sobrepico menor que 5% y un tiempo de establecimiento menor que 5
segundos. Por ejemplo, cuando el colectivo corre hacia un gran escaln de 10
cm, la carrocera del colectivo oscilar en un rango de +/- 5 mm y volver a una
marcha suave dentro de 5 segundos.

Ecuaciones del movimiento:


De la figura de arriba y de la ley de Newton, podemos obtener las ecuaciones
dinmicas siguientes:

31

Ecuacin de Funcin de Transferencia:


Asuma que todas las condiciones iniciales son nulas, as que estas ecuaciones
representan la situacin de cuando las ruedas del colectivo suben una loma. Las
ecuaciones dinmicas de arriba pueden expresarse en la forma de matriz de
transferencia tomando Transformada de Laplace de las ecuaciones de arriba. La
derivacin de las Funciones de Transferencia G1(s) y G2(s) de salida, X1-X2, y
dos entradas, U y W, son como sigue.

Halle la inversa de la matriz A y entonces multiplique a derecha por las entradas


U(s)y W(s) como lo siguiente:

Cuando queremos considerar una sola entrada U(s) , hacemos W(s) = 0. Por lo
que obtenemos la funcin de transferencia G1(s) como sigue:

32

Cuando queremos considerar la entrada W(s) sola, hacemos U(s) = 0. Por lo


que obtenemos la funcin de transferencia G2(s) como sigue:

Tambin podemos expresar y derivar las ecuaciones de arriba en la forma


espacio de estado. A pesar que este procedimiento expresar las primeras dos
ecuaciones arriba en la forma matricial estndar, se simplificar la funcin de
transferencia sin pasar por el lgebra, porque podemos usar una funcin ss2tf
para pasar de la forma espacio de estado a forma funcin de transferencia para
ambas entradas

Ingreso de ecuaciones en Matlab


Podemos poner las ecuaciones de Funcin de Transferencia de arriba en el
Matlab definiendo el numerador y denominador de las Funciones de
Transferencia en la forma, nump/denp para fuerza de entrada actuante y
num1/den1 para la entrada de perturbacin , de la funcin de transferencia
estndar G1(s) y G2(s):
G1(s) = nump/denp
G2(s) = num1/den1
Comandos del programa:
m1=2500;
m2=320;
k1=80000;
k2=500000;
b1 = 350;
b2 = 15020;
nump=[(m1+m2) b2 k2];
denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
'G(s)1'
printsys(nump,denp)
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];

33

'G(s)2'
printsys(0.1*num1,den1)

Respuesta a lazo abierto


Podemos usar Matlab para mostrar cmo evoluciona el sistema original a lazo
abierto (sin ningn control por realimentacin). Agregue los siguientes
comandos al programa y ejectelo para ver la respuesta a la fuerza actuante de
entrada escaln unitario y tambin perturbacin de entrada escaln unitario
.Note que el comando step generar las entrada escaln unitario para cada
entrada.
step(nump,denp)

La grafica nos queda de la siguiente manera:

De este grfico de la respuesta a lazo abierto para una fuerza actuante escaln
unitario, podemos ver que el sistema es sub-amortigado. La gente sentada en
el colectivo sentir apenas una pequea oscilacin y el error de estado
estacionario ronda los 0.013 mm. Pero an, el colectivo se toma un
inaceptablemente largo tiempo en alcanzar el estado estacionario o el tiempo de
establecimiento es muy largo. La solucin a este problema es agregar un
controlador realimentado en el diagrama en bloques del sistema.
step(0.1*num1,den1)

34

Para ver algunos detalles, puede cambiar los ejes:


axis([0 10 -.1 .1])

De este grfico de respuesta a lazo abierto para una perturbacin escaln de 0.1
m , podemos ver que cuando el colectivo pasa sobre una loma alta de 10 cm en el
camino, la carrocera del colectivo oscilar por un tiempo inaceptablemente
largo(100 segundos) con mayor amplitud, 13 cm, que el impacto inicial. La
gente sentada en el colectivo no estar conforme con tal oscilacin. El gran
sobrepico (del mismo impacto) y el lento tiempo de establecimiento causar
dao al sistema de suspensin. La solucin a este problema es agregar un
controlador realimentado en el sistema para mejorar la performance. El
esquema del sistema a lazo cerrado es el siguiente:

35

De la funcin de transferencia y esquema de arriba, podemos dibujar el


diagrama en bloques del sistema del colectivo como sigue:

Del esquema de arriba vemos que:


Plant = nump/denp
F * Plant=num1/den1
De modo que:

F=num1/(den1*Plant)

Ejemplo 5.-Modelacin de un Control de Inclinacin


Reconocimiento Fsico y sistema de ecuaciones

Las ecuaciones que gobiernan el movimiento de un avin es un conjunto de seis


ecuaciones diferenciales no lineales acopladas muy complicado. Sin embargo,

36

bajo ciertas consideraciones, pueden linealizarse y desacoplarse en las


ecuaciones longitudinal y lateral. El control de Inclinacin es el problema
longitudinal, y en este ejemplo, disearemos un piloto automtico que controla
la elevacin de un avin (inclinacin entre cola y proa).
Las coordenadas bsicas y las fuerzas actuantes en un avin se muestran en la
figura de abajo:

Asuma que el avin est en estado nominal (crucero) a altitud y velocidad


constantes; esto es, se cancelan el empuje y el arrastre, y el esfuerzo elevador y
el peso se contrarrestan mutuamente. Adems, asuma que un cambio en el
ngulo de inclinacin vertical no cambia la velocidad de un avin bajo ninguna
circunstancia (no es lo real pero simplifica bastante el problema). Bajo estas
consideraciones, la ecuacin longitudinal de movimiento del avin puede
escribirse como:

(1)
Para este sistema, la entrada ser el ngulo de deflexin del elevador, y la salida
ser el ngulo de inclinacin vertical.
Requerimientos de diseo
El paso siguiente es establecer algunos criterios de diseo. Queremos disear un
controlador realimentado de modo que la salida tenga un sobrepico menor que
10%, tiempo de subida menor que 2 segundos, tiempo de establecimiento menor
que 10 segundos, y error de estado estacionario menor que 2%.
Por ejemplo, si la entrada es 0.2 rad (11 grados), el ngulo de inclinacin vertical
no exceder los 0.22 rad, llegando a 0.2 rad antes de los 2 segundos, y

37

permaneciendo dentro del 2% del estado estacionario a los 10 segundos, o sea


permanece entre 0.196 a 0.204 rad. a partir del estado estacionario.

Sobrepico: Menor que el 10%


Tiempo de Subida: Menor que 2 segundos
Tiempo de establecimiento: Menor que 10 segundos
error de estado estacionario: Menor que el 2%

Funcin de Transferencia y Espacio de Estado


Antes de hallar la funcin de transferencia y el modelo en espacio de estado,
introduzcamos algunos valores numricos para simplificar las ecuaciones del
modelo (1) de abajo.

(2)
Estos valores se tomaron de los datos de un avin comercial de la Boeing.
1. Funcin de Transferencia
Para hallar la funcin de transferencia del sistema continuo de arriba,
necesitamos tomar transformada de Laplace de las ecuaciones del modelo de
arriba (2). Recordemos de su libro de control, cuando se halla la funcin de
transferencia, debe asumirse condiciones iniciales nulas. La
transformada de Laplace de las ecuaciones de arriba se muestra abajo

Luego de un trabajo algebraico, obtendr la siguiente funcin de transferencia.

2. Espacio de estado
Conociendo el hecho de que las ecuaciones del modelo (2) ya estn en la forma
en variables de estado, podemos re-escribirlas en el modelo en espacio de
estado.

38

Como nuestra salida es el ngulo de inclinacin vertical, la ecuacin de salida es:

Representacin en Matlab y respuesta a lazo abierto


Obtengamos primero un sistema a lazo abierto a una entrada escaln y
determinemos cules caractersticas del sistema necesitan mejorarse. Ponga la
entrada (delta e) en 0.2 rad (11 grados).
de=0.2;
num=[1.151 0.1774];
den=[1 0.739 0.921 0];
step (de*num,den)

Corriendo este archivo-m, la ventana de comandos del Matlab le debera dar la


figura siguiente.

39

De la figura, vemos que la respuesta a lazo abierto no satisface para nada el


criterio de diseo. De hecho la respuesta a lazo abierto es inestable.
El programa de arriba usa los valores numricos de la funcin de transferencia.
Para usar el modelo en espacio de estado, ingresando los siguientes comandos
en el programa anterior (en lugar del de abajo).
de=0.2;
A=[-0.313 56.7 0; -0.0139 -0.426 0; 0 56.7 0];
B=[0.232; 0.0203; 0];
C=[0 0 1];
D=[0];
step(A,B*de,C,D)
Debera obtenerse la misma respuesta que la de abajo.

Funcin de transferencia a Lazo Cerrado usando un controlador

Para resolver este problema, se adicionar un controlador en realimentacin


para mejorar la performance del sistema. La figura que se muestra abajo es el
diagrama en bloque de un sistema tpico con realimentacin unitaria.

40

Debe disearse un controlador para que la respuesta al escaln satisfaga todos


los requerimientos de diseo.
En la Modelacin del Control de Inclinacin, la funcin de transferencia se
deriv como

La entrada (ngulo de deflexin del elevador, delta e) ser 0.2 rad (11 grados), y
la salida es el ngulo de inclinacin vertical (theta).
Los requerimientos de diseo son

Sobrepico: Menor que el 10%


Tiempo de Subida: Menor que 2 segundos
Tiempo de establecimiento: Menor que 10 segundos
error de estado estacionario: Menor que el 2%

La funcin de transferencia de un controlador PID es:

Para estudiar la salida del sistema, implementaremos una combinacin de


controladores proporcional (Kp), integral (Ki), y derivativo (Kd) en un sistema
de realimentacin unitaria tal como se muestra abajo.
Control proporcional
Lo primero a resolver en este problema es hallar la funcin de transferencia a
lazo cerrado con un control proporcional (Kp). sta puede obtenerse ya sea a
mano o con la funcin del Matlab denominada cloop. Por cualquier mtodo, se
obtendr la funcin de transferencia a lazo cerrado como:

Coeficientes numricos del numerador y denominador de la funcin de


transferencia a lazo cerrado.
Kp = [1]; %Ingrese cualquier nmero para la ganancia proporcional
num = [1.151 0.1774];
num1= conv(Kp,num);
den1= [1 0.739 0.921 0];
[numc,denc]=cloop (num1,den1)

41

Por ahora, haga la ganancia proporcional (Kp) igual a 2 y observe el


comportamiento del sistema. Se usar la funcin de transferencia a lazo cerrado
calculada a mano. Ingrese los siguientes comandos en el programa anterior y
ejectelo en la ventana de comandos del Matlab. Debera obtener la respuesta al
escaln similar a la que se ve abajo:
de = 0.2;
Kp = 2;
numc=Kp*[1.151 0.1774];
denc=[1 0.739 1.151*Kp+0.921 0.1774*Kp];
t=0:0.01:30;
step (de*numc,denc,t)

Como ve, tanto el sobrepico cuanto el tiempo de establecimiento necesitan


alguna mejora.
Control PD
Recordemos del Tutorial PID , el controlador derivativo reducir tanto el
sobrepico cuanto el tiempo de establecimiento. Probemos un Controlador PD.
La funcin de transferencia a lazo cerrado del sistema con un Controlador PD
es:

Usando los comandos de abajo y luego de un proceso de prueba y error, una


ganancia proporcional (Kp) de 9 y una ganancia derivativa (Kd) de 4 proveen
una razonable respuesta. Para confirmarlo, cambie su archivo-m al siguiente y
ejectelo en la ventana de comandos del Matlab. Debera obtener la respuesta al
escaln similar a la de abajo:

42

de=0.2;
Kp=9;
Kd=4;
numc=[1.151*Kd 1.151*Kp+0.1774*Kd 0.1774*Kp];
denc=[1 0.739+1.151*Kd 0.921+1.151*Kp+0.1774*Kd 0.1774*Kp];
t=0:0.01:10;
step (de*numc,denc,t)

Esta respuesta al escaln muestra un tiempo de elevacin menor que 2


segundos, el sobrepico menor que 10%, tiempo de establecimiento menor que
10 segundos, y el error de estado estacionario menor que 2%. Todos los
requerimientos de diseo se satisfacen.
Control PID
A pesar que todos los requerimientos de diseo estn satisfechos con el
Controlador PD, puede agregarse el controlador integral (Ki) para reducir el
pico agudo y obtener una respuesta suave. Luego de varias iteraciones pruebaerror, la ganancia proporcional (Kp) de 2, la ganancia integral (Ki) de 4, y la
ganancia derivativa (Kd) de 3 proveen respuesta al escaln ms suave que an
satisface todos los requerimientos de diseo. Para confirmarlo, se tiene el
programa siguiente. Debera obtener la respuesta al escaln de abajo:
Esta vez usaremos la funcin cloop para hallar la funcin de transferencia a lazo
cerrado , y entonces obtener la respuesta al escaln .
de=0.2;
Kp=2;
Kd=3;
Ki=4;

43

numo=[1.151 0.1774];
deno=[1 0.739 0.921 0];
numpid=[Kd Kp Ki];
denpid=[1 0];
num1=conv(numo,numpid);
den1=conv(deno,denpid);
[numc,denc] = cloop(num1,den1);
t=0:0.01:10;
step (de*numc,denc,t)

Ejemplo 6.-Modelacin del Experimento Barra y Bola


Condiciones del Problema
Se coloca una bola sobre una barra, ver figura abajo, donde se permite rodar con
1 grado de libertad a lo largo de la barra. Se adiciona un brazo de palanca a la
barra en uno de sus extremos y un servo engranaje en el otro. A medida que el
servo engranaje gira un ngulo theta, la palanca cambia el ngulo de la barra en
alpha. Cuando se cambia el ngulo a partir de la posicin vertical, la gravedad
ocasiona que la bola ruede a lo largo de la barra. Debe disearse un controlador
para este sistema de modo que pueda manipularse la posicin de la bola.

44

Para este problema, asumimos que la bola rueda sin resbalamiento y la friccin
entre la barra y bola es despreciable. Las constantes y variables para este
ejemplo se definen como sigue:
M
masa de la bola
0.11 kg
R
radio de la bola
0.015 m
d
offset de brazo de palanca
0.03 m
g
aceleracin gravitacional
9.8 m/s^2
L
longitud de la barra
1.0 m
J
momento de inercia de la bola
9.99e-6 kgm^2
r
coordenada de posicin de la bola
alpha coordenada angular de la barra
theta ngulo del servo engranaje
Los criterios de diseo para este problema son:
Tiempo de Establecimiento menor que 3 segundos
Sobrepico menor que 5%
Ecuaciones del Sistema
El movimiento para la bola est dado por la siguiente ecuacin:

La linealizacin de esta ecuacin alrededor del ngulo de la barra , alpha = 0,


nos da la siguiente aproximacin lineal del sistema:

45

La ecuacin que relaciona el ngulo de la barra con el ngulo del engranaje


puede aproximarse a una relacin lineal mediante la ecuacin de abajo:

Sustituyndola en la ecuacin previa, tenemos:

1. Funcin de Transferencia
Tomando transformada de Laplace de la ecuacin de arriba, se encuentra la
siguiente ecuacin:

NOTA: Cuando se toma Transformada de Laplace para hallar la funcin de


transferencia se asume que las condiciones iniciales son nulas.
Reacomodando encontramos la funcin de transferencia del ngulo del
engranaje (theta(s)) a la posicin de la bola (R(s)).

Debe notarse que la funcin de transferencia de la planta de arriba es un doble


integrador. Como sta es marginalmente estable nos proveer de un arduo
problema de control.
2. Espacio de Estado
El sistema de ecuaciones linealizado puede representarse tambin en la forma
espacio de estado. Esto puede hacerse seleccionando la posicin de la bola (r) y
velocidad (rdot, por r punto) como las variables de estado y el ngulo del

46

engranaje (theta) como la entrada. La representacin espacio de estado se


muestra abajo:

Sin embargo, para nuestro ejemplo de espacio de estado usaremos un modelo


ligeramente diferente. La misma ecuacin se aplica todava para la bola pero en
lugar de controlar la posicin a travs del ngulo del engranaje, theta,
controlaremos alfa doble punto. Esto es esencialmente el control del torque de
la barra. La representacin de

Este sistema se muestra abajo:

Representacin en Matlab y Respuesta a Lazo Abierto


1. Funcin de Transferencia

47

La funcin de transferencia encontrada a partir de la transformada de Laplace


puede implementarse en Matlab entrando el numerador y el denominador como
vectores. Para lograrlo debemos crear un programa como se muestra a
continuacin.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m));
num = [-K];
den = [1 0 0];
printsys(num,den)
La salida debera ser:
num/den = 0.21 / s^2
Ahora, le gustara observar la respuesta de la bola a una entrada escaln de 0.25
m . Para hacerlo necesitar agregar la siguiente linea al programa:
step(0.25*num,den)
Debera verse la figura siguiente mostrando las posiciones de la bola como
funcin del tiempo:

De esta figura es claro que el sistema es inestable a lazo abierto, causando que la
bola se deslice afuera de la barra. Por lo tanto, se requiere de algn mtodo para
controlar la posicin de la bola en este sistema. Abajo se listan tres ejemplos de

48

diseo del controlador para el problema de la FT. Puede elegir entre PID, Lugar
de Races, y Respuesta en Frecuencia.
2. Espacio de Estado
Las ecuaciones de espacio de estado pueden representarse en Matlab con los
siguientes comandos (estas ecuaciones son para el modelo de control de
torque).

m = 0.111;
R = 0.015;
g = -9.8;
J = 9.99e-6;
H = -m*g/(J/(R^2)+m);
A=[0 1 0 0
00H0
0001
0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];

La respuesta al escaln de 0.25m (posicin deseada) puede verse corriendo el


comando siguiente:

step(A,B*.25,C,D)

La salida debera verse como la de abajo:

49

Al igual que el esquema para la funcin de transferencia, esta figura muestra


que el sistema es inestable y que la bola se va a salir de la barra. Por lo tanto,
requerimos algn mtodo de control de la posicin de la bola en este sistema.
Abajo se muestra el ejemplo de cmo implementar un controlador en Espacio
de Estado para este tipo de sistema.
Solucin al Problema de la Barra y Bola Usando Control PID
La funcin de transferencia a lazo abierto de la planta para experimento de la
barra y bola se da abajo:

Los criterios de diseo para este problema son:

Tiempo de establecimiento menor que 3 segundos


Sobrepico menor que 5%

Representacin a Lazo Cerrado


El diagrama en bloque para este ejemplo con un controlador y realimentacin
unitaria de la posicin de la bola se muestra abajo:

50

Primero estudiaremos la respuesta del sistema mostrado abajo cuando se usa un


controlador proporcional. Entonces, se adicionar si es necesario control
integral y/o derivativo.
Recordemos, que la funcin de transferencia para un controlador PID es:

Control Proporcional
La funcin de transferencia a lazo cerrado para un controlador proporcional con
una ganancia proporcional (kp) igual a 100, puede modelarse con el siguiente
programa.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifica entrada
num = [-K];
den = [1 0 0];
kp = 1;
numP = kp*num;
[numc, denc] = cloop(numP, den)
El numerador y denominador deberan ser:
numc =
0
0 0.2100
denc =
1.0000
0 0.2100
Ahora, podemos modelar la respuesta del sistema a una entrada escaln de 0.25
m. Agregue la siguiente lnea de cdigo a su archivo-m y ejectelo:
step(0.25*numc,denc)
Debera obtenerse la siguiente salida:

51

Como puede ver la adicin de ganancia proporcional no estabiliza el sistema.


Pruebe cambiando el valor de kp y note que el sistema permanece inestable. Se
prob con los otros valores y el sistema sigue inestable.
Control Proporcional-Derivativo
Ahora, agregaremos un trmino derivativo al controlador. Con este programa
veremos si el sistema queda estable.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = (m*g*d)/(L*(J/R^2+m)); %simplifica entrada
num = [-K];
den = [1 0 0];
kp = 10;
kd = 10;
numPD = [kd kp];
numh = conv(num, numPD);
[numc, denc] = cloop(numh, den);
t=0:0.01:5;
step(0.25*numc,denc,t)
El diagrama debera ser similar al siguiente:

52

Ahora el sistema es estable pero el sobrepico es demasiado alto y el tiempo de


asentamiento necesita bajarse un poco. De la pgina tutorial de PID en la
seccin de caractersticas de controladores P, I, y D , vemos que incrementando
kd podemos bajar el sobrepico y disminuir apenas el tiempo de establecimiento.
Por lo tanto, haga kd = 20 y la salida debera ser:

El criterio de sobrepico est logrado pero el tiempo de establecimiento necesita


bajarse un poco. Para bajar el tiempo de establecimiento podemos intentar
incrementar apenas kp para incrementar el tiempo de elevacin. La ganancia
derivativa (kd) puede tambin incrementarse para bajar algo del sobrepico que
el incremento kp causar. Luego de experimentar un poco con las ganancias,
puede lograrse la siguiente respuesta al escaln con kp = 15 y kd = 40:

53

Como puede ver de la figura de arriba todos los objetivos de control han sido
logrados sin el uso de un controlador integral (el tiempo de establecimiento para
este ejemplo se considera logrado cuando la respuesta es menor que el 2% de su
valor final). Recuerde, que para un problema de control hay ms que una
solucin.

VALORE PROPUESTOS PARA CADA


EJERSICIO
EJEMPLO 1
% VALORES DE LAS VARIABLES DE LA FUNCION DE TRANSFERENCIA DE LAZO
ABIERTO
m=8000;
b=300;
u=1200;
% FUNCION DE TRANFERENCIA
disp 'Y(s)/U(s)== [1/ms + b]'
num=[1];
den=[m b];
step(u*num,den)
title('Curva de la funcin de transferencia sin controlador')

% VALORES DE LAS VARIABLES DE LA FUNCION DE TRANSFERENCIA DE LAZO


ABIERTO
m=8000;
b=300;
u=1200;

54

% FUNCION DE TRANFERENCIA
disp 'Y(s)/U(s)== [1/ms + b]'
num=[1];
den=[m b];
step(u*num,den)
title('Curva de la funcin de transferencia sin controlador')

Usando un Control PI
Para este ejemplo usamos solo un controlador PI por hace que el sistema sea
mas estable.
Un controlador integral al sistema elimina el error de estado estacionario. Por
ahora, haga Kp = 800 y Ki = 1 y vea qu sucede con la respuesta.
% Valores de las variables de la F.T de lazo cerrado
kp = 750;
ki = 1;
m = 6300;
b = 850 ;
u = 11.5;
% F.T de lazo cerrado de un controlador PI
disp 'Y(s)/u(s)== [Kps + Ki / ms^2 + (b + Kd)s + Ki]'
num = [1];
den = [m b];
num1= [kp ki];
den1= [1 0];
num2=conv(num,num1);
den2=conv(den,den1);
[numc,denc]=cloop(num2,den2,-1);
t=0:0.1:20;
step(u*numc,denc,t)

55

axis([0 20 0 10])
title('Curva de la funcin de transferencia con un controlador PI')

Ahora ajustemos tanto la ganancia proporcional (Kp) cuanto la ganancia


integral (Ki) para obtener la respuesta deseada. Cuando usted ajuste la ganancia
integral (Ki), mejor que empiece con un valor chico, ya que grandes (Ki) casi
siempre inestabilizan la respuesta.
Con Kp igual a 950 y Ki igual a 55, la respuesta al escaln lucir como la

Ejemplo 2.Con valores propuestos


J=0.05;
b=0.4;
K=0.05;

56

R=1;
L=0.6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
step(num,den,0:0.1:3)
title('Respuesta al Escaln del sistema de lazo abierto')

De la figura vemos que cuando se aplica 1 volt al sistema, el motor puede lograr
solo una velocidad mxima de 0.3 rad/seg., diez veces menor que la velocidad
deseada. Adems, el motor tiene 3 segundos para alcanzar su velocidad de
estado estacionario; esto no satisface los 2 segundos del criterio de tiempo de
establecimiento

Usamos un control Control proporcional


Este controlador es usado porque con ello hacemos que el sobrepico sea menos
de 1 segundo. En la grfica se puede observar cmo se encuentra.
Tratemos de usar primero un controlador proporcional con una ganancia de
300.

57

Control PID
De la figura de arriba vemos que tanto el error de estado estacionario cuanto el
sobrepico son muy grandes. Recordemos del tutorial PID que incorporando un
trmino integral se eliminar el error de estado estacionario y un trmino
derivativo reducir el sobrepico. Probemos un controlador PID con Ki y Kd
pequeos. Modifique su archivo-m de manera que se sea ve lo siguiente. Luego
de correr este nuevo archivo-m se da la figura siguiente.
J=0.05;
b=0.4;
K=0.05;
R=1;
L=0.6;num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
Kp=100;
Ki=1;
Kd=1;
numc=[Kd, Kp, Ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID con pequeo Ki and Kd')

58

Sintonizacin de ganancias
Ahora el tiempo de establecimiento es muy largo. Incrementemos Ki para
reducir el tiempo de establecimiento. Regrese Al programa anterior y cambie K i
a 100. Vuelva a ejecutar el archivo y debera obtenerse un grfico como ste:

59

Ahora vemos que la respuesta es mucho ms rpida que antes, pero el Ki grande
ha empeorado la respuesta transitoria (gran sobrepico). Incrementemos Kd
para reducir el sobrepico. Vuelva programa antgerior y cambie Kd a 11. Vuelva a
correrlo para obtener este grfico:

60

Ejemplo 3.Con valores propuestos


Para este ejemplo, asumimos los valores siguientes para los parmetros fsicos.
Estos valores se derivaron experimentalmente de un motor real del laboratorio
de control para alumnos de grado del Carnegie Mellon.

momento de inercia del rotor (J) = 0.03 kg.m^2/s^2


coeficiente de amortiguamiento del sistema mecnico (b) = 0.3 Nms
constante de fuerza electromotriz (K=Ke=Kt) = 0.03 Nm/Amp
resistencia elctrica (R) = 3 ohm
inductancia elctrica (L) = 0.8 H
entrada (V): Fuente de Tensin
salida (theta): posicin del eje
el rotor y eje se consideran rgidos

Representacin en Matlab y respuesta a lazo abierto


1. Funcin de Transferencia
Podemos poner la funcin de transferencia en Matlab definiendo el
numerador y el denominador como vectores:
Variables del programa:
% Valores de la F.T de lazo abierto
J=0.03;
b=0.3;
K=0.03;
R=3;
L=0.8;
% F.t de lazo abierto sin controlador
disp 'Y(s)/U(s)== [K/(s((Js+b)(Ls+R)+K^2))]'
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
step(num,den,0:0.001:0.2)
title('Resultado de escaln de lazo abierto'

61

Usando un Control proporcional


El controlador proporcional es usado por que tiende hacer menos su sobrepico
que los de un PID o un PD.
El controlador proporcional con una ganancia de 4.5, el programa queda de la
siguiente manera.
% Valores de la F.T de lazo abierto
J=0.03;
b=0.3;
K=0.03;
R=3;
L=0.8;
% F.t de lazo abierto sin controlador
disp 'Y(s)/U(s)== [Kp/(s((Js+b)(Ls+R)+K^2))]'
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
Kp=1.7;
numcf=[Kp];
dencf=[1];
numf=conv(numcf,num);
denf=conv(dencf,den);
[numc,denc]=cloop(numf,denf);
t=0:0.001:0.2;
step(numc,denc,t)
title(' respuesta de escaln con un controlador P')

62

Debera obtenerse la figura siguiente:

Como podemos observar el sobrepico cumple con los diseos requeridos.


Veamos ahora la respuesta a una perturbacin escaln agregando los siguientes
comandos:
numdcl=conv(numc,1);
dendcl=conv(denc,Kp);
step(numdcl,dendcl,t);

Debera obtenerse la figura siguiente:

Ejemplo 4
63

Con valores propuestos


* masa del cuerpo (m1) = 3500 kg,
* masa suspendida (m2) = 550 kg,
* constante de elasticidad del sistema de suspensin(k1) = 90,500 N/m,
* constante de elasticidad rueda y neumtico(k2) = 600,123 N/m,
* constante de amortiguacin del sistema de suspensin(b1) = 440Ns/m.
* constante de amortiguacin rueda y neumtico(b2) = 16,567 Ns/m.
* fuerza de control (u) = fuerza del controlador que estamos diseando.

% valores de las varibles de la funcion de transferecncia


m1=3500;
m2=350;
k1=90500;
k2=600123;
b1 = 440;
b2 = 16567;
% funcion de transferencia para G1(s)
disp 'Y(s)/U(s)== (m1+m2) b2 k2/((m1*m2) (m1*(b1+b2))+(m2*b1)
(m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2)'
nump=[(m1+m2) b2 k2];
denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
'G(s)1'
printsys(nump,denp)
% funcion de transferencia para G1(s)
disp 'Y(s)/U(s)== -(m1*b2) -(m1*k2) 0 0/((m1*m2) (m1*(b1+b2))+(m2*b1)
(m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2)'
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
'G(s)2'
printsys(0.1*num1,den1)
step(0.1*num1,den1)
axis([0 10 -.1 .1])
title('Respuesta de la Funcin de Trasferencia')
step(nump,denp)

64

De este grfico de la respuesta a lazo abierto para una fuerza actuante escaln
unitario, podemos ver que el sistema es sub-amortigado. La gente sentada en
el colectivo sentir apenas una pequea oscilacin y el error de estado
estacionario ronda los 0.013 mm. Pero an, el colectivo se toma un
inaceptablemente largo tiempo en alcanzar el estado estacionario o el tiempo de
establecimiento es muy largo. La solucin a este problema es agregar un
controlador realimentado en el diagrama en bloques del sistema.

65

Ejemplo 6
Con valores propuestos
Para este problema, asumimos que la bola rueda sin resbalamiento y la friccin
entre la barra y bola es despreciable. Las constantes y variables para este
ejemplo se definen como sigue:
M
masa de la bola
1 kg
R
radio de la bola
0.02 m
d
offset de brazo de palanca
0.4 m
g
aceleracin gravitacional
9.8 m/s^2
L
longitud de la barra
2.5 m
J
momento de inercia de la bola
9.99e-6 kgm^2
r
coordenada de posicin de la bola
alpha coordenada angular de la barra

% valores de las contantes y variables


m = 3;
R = 0.3;
g = -5.8;
L = 5.5;
d = 0.2;
J = 6.99e-6;
% fucnion de transferencia

66

disp 'R(s)/U(s)== (m*g*d)/((L*(J/R^2+m))'


K = (m*g*d)/(L*(J/R^2+m));
num = [-K];
den = [1 0 0];
printsys(num,den)
step(0.50*num,den)
title(' resultado de la funcion de transferencia')
step(0.15*num,den)

La funcin de transferencia encontrada a partir de la transformada de Laplace


puede implementarse en Matlab entrando el numerador y el denominador como
vectores. Para lograrlo debemos crear un programa como se muestra a
continuacin.
Ahora, le gustara observar la respuesta de la bola a una entrada escaln de 0.50
m . Para hacerlo necesitar agregar la siguiente linea a su archivo-m:
step(0.15*num,den)
Debera verse la figura siguiente mostrando las posiciones de la bola como
funcin del tiempo:

Espacio de Estado

67

Las ecuaciones de espacio de estado pueden representarse en Matlab con los


siguientes comandos (estas ecuaciones son para el modelo de control de
torque).

% valores de las contantes y variables


m = 3;
R = 0.3;
g = -5.8;
L = 5.5;
d = 0.2;
J = 6.99e-6;
J = 9.99e-6;
% fucnion de transferencia
disp 'R(s)/U(s)== (m*g*d)/((L*(J/R^2+m))'
H = -m*g/(J/(R^2)+m);
A=[0 1 0 0
0 0 H 0
0 0 0 1
0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];
step(A,B*.50,C,D)
title(' resultado de la funcion de transferencia')
step(A,B*.50,C,D)

68

La respuesta al escaln de 0.50m (posicin deseada) puede verse corriendo el


comando siguiente:

step(A,B*.50,C,D)

La salida debera verse como la de abajo:

Control Proporcional-Derivativo
Ahora, agregaremos un trmino derivativo al controlador. Con este programa
veremos si el sistema queda estable.
% valores de las contantes y variables
m = 3;
R = 0.3;
g = -5.8;
L = 5.5;
d = 0.2;
J = 6.99e-6;
J = 9.99e-6;
% fucnion de transferencia
disp 'R(s)/U(s)== (m*g*d)/((L*(J/R^2+m))'
K = (m*g*d)/(L*(J/R^2+m));
num = [-K];

69

den = [1 0 0];
% valores del controlador PD
kp = 15;
kd = 40;
numPD = [kd kp];
numh = conv(num, numPD);
[numc, denc] = cloop(numh, den);
t=0:0.01:5;
step(0.50*numc,denc,t)
title('resultado del controlador PD')

70

BIBLIOGRAFA
www.engin.umich.edu/group/ctm/basic/basic.htm/
www.engin.umich.edu/group/ctm/PID/PID.htm/

71