Vous êtes sur la page 1sur 75

PARTE II:

SIMULACIN DE SISTEMAS:
FUNCIONES PARA CONTROL

Mgt. Ing. Carlos Gustavo Prez.


Funciones para Control
ss, tf, zpk. Pole() Step()
tf2ss, c2d Zero() Impulse()
ssdata, tfdata Tf() Pade()
series, parallel Feedback () Margin()
order Freqs Polar()
pole, zero, pzmap Bode() initial, lsim
minreal Rlocus() bode, nyquist
nyquist() evalfr, dcgain
Nichols() bandwidth
pid, lqr, kalman
Funciones Grficas isstable
Semilogx() Ezplot()
Semilogy() Plot()
Loglog()
Funcin de transferencia
La representacin en funcin de transferencia de un sistema
dinmico se puede ingresar a MATLAB con el comando tf.

Ejemplo: G1(s) = 10/ (s2+2s+10), G2(s) = 5/(s+5)


num1 = 10;
den1 = [1 2 10];
num2 = 5;
den2 = [1 5];
G1 = tf(num1, den1) %G1(s)=10/(s2+2s+10)
G2 = tf(num2, den2) %G2(s)=5/(s+5)
Funcin de transferencia

De manera alternativa, se puede emplear directamente


expresiones racionales para crear un modelo:

s = tf('s'); %Define variable de Laplace s


G1s = 10/(s^2+2*s+10) %TF de manera directa
G2s = 5/(s+5)
G3s = (s^2+3*s+1)*(s+2)/(s^4+8*s^3+10*s^2+20*s+25)/(s^2+10)
Funcin de transferencia
Una vez creado un modelo, se puede encontrar caractersticas
propias tales como los polos y ceros:
pole(G3s) %Encuentra polos de FdT
zero(G3s) %Encuentra ceros de FdT
pzmap(G3s) %Muestra polos (x) y ceros (o) de manera grfica

As como, combinar funciones de transferencia:

Gs = series(G1,G2) %Arreglo serie: Gs = G1*G2


Gp = parallel(G1,G2) %Arreglo paralelo Gp = G1+G2
Gfn = feedback(G1,G2,-1) %Arreglo de realimentacin negativa
Gfp = feedback(G1,G2,+1) %Arreglo de realimentacin positiva
Representacin de polos y ceros
Para realizar esta representacin utilizaremos el
comando pzmap a partir de una funcin racional
previamente definida.

1. Obtener la representacin grfica en el plano s de los


polos y ceros de:

2 4 + 20
=
( + 5)( 2 + 22 + 10)
Representacin de polos y ceros
Escribimos num y den, utilizar la funcin conv:
>> printsys(num,den)
num/den = Pole-Zero Map
5
s^2 - 4 s + 20
4
-----------------------
s^3 + 7 s^2 + 20 s + 50
3

>> numraices=roots(num) % polos del sistema


1

Imaginary Axis
>> denraices=roots(den) % polos del sistema 0

-1

>>pzmap(num,den) -2

% definicin de lmites: Xmax Xmin Ymin Ymax -3

>>axis([-6 3 -5 5]) -4

-5
-6 -5 -4 -3 -2 -1 0 1 2 3
Real Axis
Descomposicin en Fracciones Parciales
Una FT G(s) se descompone en fracciones parciales con:
>> [r,p,k]=residue(num,den)

+ + () () ()
= = = + + + ()
+ + () () ()

Donde: r= coeficientes de los numeradores, p= polos del sistema (( )( )...


k= residuo

5 Lo que equivale a:
Ejemplo: =
2 +2

() 2.5 2.5
= +
>> [r,p,k]=residue([5],[1 2 0]) () + 2
r= p= k=
-2.5000 -2 []
Residuo = 0
2.5000 0
Descomposicin en Fracciones Parciales
1. Presentar el equivalente en funciones parciales de la
siguiente FT:

()
= =
() + +

De la misma forma se puede realizar una conversin inversa de


fracciones parciales a funcin racional:

>> [num,den]=residue(r,p,k)

2. Convertir:
() . .
= +
() + + +
Objetos Simblicos en Matlab
Matlab cuenta con herramientas para realizar anlisis
simblico, bajo su sintaxis habitual. Ej.: y=int(x^2)

syms construye un objeto simblico:


syms arg1 arg2

>> arg1 = sym(arg1);
>> arg2 = sym(arg2);

Para remover un objeto de la memoria:


syms arg1 arg2 clear
Transformada Directa de Laplace
Transformar al dominio s: = 8 4 5cos(4)
Primero se crea las variables simblicas:
>> syms t s
% La notacin en minscula supone una funcin definida en t
>> y=8*sin(4*t)-5*cos(4*t);
% La notacin en mayscula indica una funcin transformada
>> Y=laplace(y)
Y=
32/(s^2 + 16) - (5*s)/(s^2 + 16)
Por tanto:
32 5
8 4 5cos(4) = 2 2
+ 16 + 16
Transformada Inversa de Laplace
64
Transformar al dominio t: = 2 +4+20
Primero se crea las variables simblicas:
>> syms t s
% La notacin en mayscula supone una funcin definida en s
>> Y=(6*s-4)/(s^2+4*s+20)
% La notacin en minscula indica una funcin transformada
>> y=ilaplace(Y)

Por tanto:
1
6 4 2 2
2
= 6 cos 4 4 4
+ 4 + 20
Ejercicios
1. Obtener la FT para el diagrama de polos y ceros de la figura:
Pole-Zero Map
4

1
Imaginary Axis

-1

-2

-3

-4
-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2
Real Axis

Considerar una ganancia de K=6.


Ejercicios
2. Por descomposicin en fracciones parciales, obtenga g(t):

2 3
a) = (1)(+3)

62 +26+8
b) = 3 +42 +14+20

10 2 +51+56
c) = (+4)(+2)2

Graficar las funciones en el tiempo con el comando ezplot(f)


Ejercicios
3. Considerar el sistema mecnico de la figura, inicialmente en reposo. El
desplazamiento de x i y son medidos desde sus respectivas posiciones
de equilibrio. Asumiendo que p(t) es la entrada y x(t) es la salida.
Encontrar una solucin analtica de x(t):

() 10 + 100 2
= 3
() + 10 2 + 100 + 600
1
Donde P(s) es un escaln de fuerza de 10N. 2

10
=


Expandir en fracciones parciales y aplicar transformada inversa
Solucin de Ecuaciones Diferenciales
Una de las maneras de resolverlas es utilizando la funcin
dsolve
D indica la primera diferenciacin de la variable dependiente.
D2 indica la segunda diferenciacin y as sucesivamente.
La combinacin de dsolve con el smbolo Dn permite
determinar su solucin con Matlab.

1. Resolver: dy/dt + 2y = 5 con y(0)=2


>> y=dsolve('Dy+2*y=5','y(0)=2')
y=
5/2 - 1/(2*exp(2*t))
Ejercicios
1. Resolver la siguiente ecuacin diferencial:

2
2
+2 + 10 = 2()

Para condiciones iniciales:


a) y(0)=y(0)=0
b) Y(0)= -2, y(0)=0
Ejercicios
a) Para condiciones iniciales nulas: y(0)=y(0)=0
>> y=dsolve('D2y+2*Dy+10*y=2','Dy(0)=0','y(0)=0')
y=
1/5 - sin(3*t)/(15*exp(t)) - cos(3*t)/(5*exp(t))
>> simple(y) % comando que simplifica la expresin.
>>ezplot(y,[0 6]) %Presenta y en un rango de valores en funcin
de la variable independiente t
>>axis([0 6 0 0.3]) %Personaliza los ejes de la grfica
1/5 - sin(3 t)/(15 exp(t)) - cos(3 t)/(5 exp(t))

0.25

0.2

0.15

0.1

0.05

0
0 1 2 3 4 5 6
t
Respuesta Transitoria en Matlab
Se presentan las bondades de Matlab para obtener la respuesta de los
sistemas ante entradas en el dominio del tiempo como el escaln,
impulso y rampa.
Se analizan las respuestas ante condiciones iniciales y funciones de
tiempo arbitrarias.

Dado el sistema general de segundo orden,

2
= 2
+ 2 + 2

Se define en funcin de:

= Factor de amortiguamiento

= Frecuencia natural
Respuesta Transitoria en Matlab
Considerando, por ejemplo, el cado de

= 0.4

= 5 rad / seg

En Matlab:
>> wn=5;
>> Fa=0.4;
>> [num0,den]=ord2(wn,Fa);
>> num=wn^2*num0;
>> printsys(num,den,'s')

num/den =

25
--------------
s^2 + 4 s + 25
Respuesta al Escaln
Ej 01: Considerando el sistema mecnico mostrado, montado sobre una
plataforma mvil, donde u es el desplazamiento de entrada i y es el
desplazamiento de salida, derivar una funcin de transferencia y calcular su
respuesta al escaln en Matlab.

2
2 = ( )


2
2 + + = +

Representa el modelo matemtico


del sistema

Respuesta al Escaln
De donde:
( 2 + + ) = ( + )()

Asumiendo m=10 Kg, b= 20 N-s/m, k=100 N/m y la entrada u(t) como un


escaln de 1m, se obtiene:
() 20+100 2+10
= =
() 10 2 +20+100 2 +2+10

Finalmente en Matlab: 1.5


Step Response

>> num=[2 10];


>> den=[1 2 10]; 1

>> sys=tf(num,den);
Amplitude

>> step(sys)
>> grid 0.5

0
0 1 2 3 4 5 6
Time (sec)
Respuesta al Escaln
Asignando algunas caractersticas personalizadas:

>> t=0:0.01:8;
>> num=[2 10];
>> den=[1 2 10];
>> sys=tf(num,den);
>> step(sys,t);
>> grid
>> title('Respuesta al escaln Sistema Masa-Resorte','Fontsize',20')
>> xlabel('t','Fontsize',20')
>> ylabel('Salida y','Fontsize',20') Respuesta al escaln Sistema Masa-Resorte
1.5

1
Salida y

0.5

0
0 1 2 3 4 5 6 7 8

t (sec)
Respuesta al Escaln
Es posible tambin obtener curvas de respuesta al escaln a partir de
ecuaciones de estado.

Dado el sistema:

1 1 1 1 1 1 1
= 2 +
2 6.5 0 1 0 2
1 1 0 1 0 0 1
2 = 2 + 0 0 2
0 1
Graficar las 04 respuestas individuales al escaln.
Respuesta al Escaln
Dada la correspondencia de Funciones de Transferencia a partir de la
ecuacin en espacio de estado, de acuerdo a la ecuacin:

= ( )1

El sistema queda descrito de la forma:

1
1 () 2 + + 6.5 2 + + 6.5 1 ()
=
2 () + 7.5 6.5 2 ()
2 + + 6.5 2 + + 6.5
Respuesta al Escaln
Sin embargo, graficando directamente de las matrices A, B, C y D, se obtiene
una respuesta equivalente:
Step Response
From: In(1) From: In(2)
>> A=[-1 -1;6.5 0]; 0.4

>> B=[1 1;1 0]; 0.2

>> C=[1 0; 0 1]; To: Out(1)


>> D=[0 0;0 0]; 0

>> step(A,B,C,D) -0.2


Amplitude

-0.4
2

1.5
To: Out(2)

0.5

0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Time (sec)
Respuesta al Escaln para sistemas Retroalimentados
Considerando el sistema mostrado en la figura, obtener la salida C(t),
cuando r(t)=1 y d(t)=0 y viceversa.
()
() ()

1. Considerando la perturbacin d(t)=0: Respuesta al escaln unitario Cr(s)/R(s)


1.4

>> t=0:0.01:5; 1.2

>> num1=[1]; 1

>> den1=[1 2 0];

Salida Y en funcin de r(t)


0.8
>> sys1=tf(num1,den1);
>> sys=feedback(10*sys1,[1]); 0.6

>> [c_r,t]=step(sys,t); 0.4

>> plot(t,c_r) 0.2

>> grid 0
0 0.5 1 1.5 2 2.5
t seg
3 3.5 4 4.5 5

>> title('Respuesta al escaln unitario C_r(s)/R(s)')


>> xlabel('t seg')
>> ylabel('Salida Y en funcin de r(t)')
Respuesta al Escaln para sistemas Retroalimentados
2. Considerando la entrada r(t)=0:

>> t=0:0.01:5;
>> num1=[1];
>> den1=[1 2 0];
>> sys1=tf(num1,den1);
>> sys=feedback(sys1,[10]);
>> [c_d,t]=step(sys,t);
>> plot(t,c_d)
>> grid
>> title('Respuesta al escaln unitario C_d(s)/D(s)')
>> xlabel('t seg')
>> ylabel('Salida Y en funcin de perturbacin d(t)')
Respuesta al Escaln para sistemas Retroalimentados
Graficar la respuesta al escaln de los siguientes sistemas:

a)
() ()

b)

() ()

Utilizar la funcin series(sys1 , sys2) para multiplicacin de sistemas en serie


Lugar Geomtrico de Races
Es un mtodo grfico para examinar cmo las races de un
sistema cambian respecto a algn parmetro, usualmente
una ganancia dentro de un lazo de realimentacin.

Permite determinar la estabilidad de un sistema.

Se emplea en el diseo del factor de amortiguamiento y


frecuencia natural de un sistema de control.

3
Lugar Geomtrico de Races
Considerando el sistema en lazo cerrado de la figura:

Cuya funcin de transferencia en lazo cerrado es:

() ()
=
() 1 + ()

Donde la ecuacin caracterstica de lazo cerrado se obtiene:


1 + = 0 = 1

Esta ecuacin compleja se divide en 02 ecuaciones:

Angulo: () = 180 2 + 1 (k=0,1,2,) Magnitud: () = 1


Lugar Geomtrico de Races
Las races de la ecuacin caracterstica (Los polos en lazo cerrado)
corresponden a la ganancia determinada por las condiciones del ngulo y
por la magnitud.

La localizacin de las races del sistema se define por la localizacin de los


polos en lazo cerrado, cuando la ganancia K es variada de 0 a .

En Matlab, se utiliza el comando rlocus:

>> [r,K]=rlocus(num,den)
>> [r,K]=rlocus(num,den,K)
>> [r,K]=rlocus(A,B,C,D)
>> [r,K]=rlocus(A,B,C,D,K)
>> [r,K]=rlocus(sys)
Lugar Geomtrico de Races
1. Considerando el sistema de la figura, graficar el lugar de races
contemplado bajo la regin: 6 6, 6 6

Cdigo Matlab:
>> num=[1 3]; den=conv([1 1 0],[1 4 16]);
>> r=rlocus(num,den);
>> plot(r,'-'); v=[-6 6 -6 6]; axis(v); axis('square')
>> grid
>> title('Lugar de Raices de: G(s)=K(s+3)/[s(s+1)(s^2+4s+16)]')
>> xlabel('eje real'); ylabel('eje imaginario')
>> gtext('o','Fontsize',15) % Para ubicar 'o' en el cero de lazo abierto.
>> gtext('x','Fontsize',15) % Para ubicar 'x' en los 04 polos de lazo abierto.
>> gtext('x','Fontsize',15) % Para ubicar 'x' en los 04 polos de lazo abierto.
>> gtext('x','Fontsize',15) % Para ubicar 'x' en los 04 polos de lazo abierto.
>> gtext('x','Fontsize',15) % Para ubicar 'x' en los 04 polos de lazo abierto.
Lugar Geomtrico de Races
Graficar el LGR para el sistema que se muestra en la figura, considerar:
6 6, 6 6.

Considerar:

K=[k1 k2 k3]

Donde:

K1=0:0.2:20;
K2=20:0.1:30;
K3=30:5:1000;
Lugar Geomtrico de Races

2.

s = tf('s');
G = 2/(3*s+1)/(s+1); %Define FdT
H = 0.5;
sys_ol = G*H; %FdT del sistema en lazo abierto
figure; %Abre una figura nueva
rlocus(sys_ol) %Grafica LGR para sys_ol
Lugar Geomtrico de Races

grid %Curvas de nivel


axis([-1.2 0.2 -1.8 1.8]) %axis[xi xf yi yf]

axis('equal') %Iguala escala en direcciones X e Y


dseta = 0.707; %Factor de amortiguamiento ds= 0.707

omega = 1.33; %Frecuencia natural wn = 1.33


sgrid(dseta,[]); %sgrid(ds, wn) curva de nivel
sgrid([], omega); %especifica un cierto ds y/o wn
sgrid(dseta, omega);
Lugar Geomtrico de Races

Para el siguiente sistema de control:

Grafique su LGR y determine el valor de K tal que se consiga


tener un factor de amortiguamiento = 0.5 en un par de polos
complejos dominantes. Verifique sus resultados encontrando la
respuesta en el tiempo ante un escaln unitario.
Anlisis de la Respuesta en Frecuencia:
Diagrama de Bode
Un Diagrama de Bode es una representacin grfica que sirve
para caracterizar la respuesta en frecuencia de un sistema.
Normalmente consta de dos grficas separadas, una que
corresponde con la magnitud de dicha funcin y otra que
corresponde con la fase.
El diagrama de magnitud de Bode dibuja el mdulo de la funcin
de transferencia (ganancia) en decibelios en funcin de la
frecuencia angular en escala logartmica.
El diagrama de fase de Bode representa la fase de la funcin de
transferencia en funcin de la frecuencia angular en escala
logartmica. Se da usualmente en grados sexagesimales.
Anlisis de la Respuesta en Frecuencia
El comando BODE calcula las magnitudes y ngulos de fase de la
respuesta en frecuencia de sistemas lineales continuos e invariantes en
el tiempo.

Los comandos utilizados regularmente son (la magnitud se genera en


db):

>> bode(num,den)
>> bode (num,den,w)
>> bode(A, B, C, D)
>> bode (A, B, C, D, w)
>> bode (A, B, C, D, w)
>> bode (A, B,C,D, iu, w)
>> bode(sys)

Para almacenar los valores de la magnitud y la fase se utiliza:


>> [mag,phase,w]=bode(num,den,w)

Para convertir la magnitud a decibelios: >> magdB=20*log10(mag)


Anlisis de la Respuesta en Frecuencia
Para especificar el rango de frecuencias se utiliza el comando logspace

>> w=logspace(d1,d2)

>> w=logspace(d1,d2,n)

Con lo cual se generan n puntos especiados logartmicamente entre


10^d y 10^d2.

Por ejemplo, para generar 100 puntos entre 1 rad/seg y 1000 rad /seg:

>>w= logspace(0,3,100)
Anlisis de la Respuesta en Frecuencia
Calcular el diagrama de Bode para la FT:

9( 2 + 0.22 + 1)
G s =
( 2 + 1.2 + 9)

Considerar un rango de frecuencias de 0.01 a 1000 rad / seg.

Cdigo Matlab:

>> num=[9 1.8 9];


>> den=[1 1.2 9 0];
>> w=logspace(-2,3,100);
>> bode(num,den,w)
>> grid
>> title('Diagrama de Bode de G(s)')
Anlisis de la Respuesta en Frecuencia

sys_ol1 = 1/(0.3*s+1); %Define FdT (1) en L.A.


sys_ol2 = 2/(s+12)*5/(2*s+1); %Define FdT (2) en L.A.

figure; %Abre figura nueva


bode(sys_ol1) %Muestra diagrama de Bode
figure;
bode(sys_ol1,'r', sys_ol2,'k') %D. Bode
grid %Habilita grilla
Anlisis de la Respuesta en Frecuencia
Margen de ganancia y fase
Algo importante a obtener tras la realizacin del diagrama de
Bode para el anlisis de la estabilidad de un sistema es lo
siguiente:
Margen de fase: Es el ngulo que le falta a la fase para llegar a
los -180 cuando la ganancia es de 0dB. Si la ganancia es
siempre inferior a 0dB, el margen de fase es infinito.
Margen de ganancia: Es el valor por el que habra que
multiplicar (en decimal), o sumar (en dB) a la ganancia para
llegar a 0dB cuando la fase es de -180.
El sistema representado ser estable si el margen de ganancia y
el margen de fase son positivos.

4
Ejemplo MG y MF
sys_ol3 = 5/s/(s^2+2*s+4)
% Margen de Ganancia (MG) % Margen de
Fase (MF)
% Frecuencias asociadas Wcg y Wcf
[MG, MF, Wcg, Wcf] = margin(sys_ol3)
% Margen de manera grfica
margin(sys_ol3)
sys_ol4 = 3e4 * (0.05*s + 1)^2 / ((s+1)^3 * (0.01*s + 1));
% Ancho de banda
BW = bandwidth(sys_ol4)
% Ganancia en continua GH(0)
Gdc = dcgain(sys_ol4)

4
Anlisis de la Respuesta en Frecuencia
Considerando el sistema de la figura:

Analizar su estabilidad usando el criterio de BODE


Anlisis de la Respuesta en Frecuencia
Su diagrama de bloques en lazo cerrado es:
Circuitos (1er orden)
Modelos en MATLAB
%Modelos de Primer Orden
s = tf('s');
R = 10e+3; %Resistencia del circuito RC, R = 10k
C = 0.02e-3; %Condensador del circuito RC, C = 0.02mF
Kp = 1; %Ganancia del modelo
tau = R*C; %Constante de tiempo
RC_sys = Kp/(tau*s+1) %Crea modelo del circuito RC
R1= 1e+6; %Resistencia R1 del amplificador, R1= 1M
R2= 10e+6; %Resistencia R2 del amplificador, R1= 10M
C= 0.47e-6; %Condensador C del amplificador, C=0.47uF
Kp = -R2/R1; %Ganancia del modelo
tau = C*R2; %Constante de tiempo
Opamp_sys = Kp/(tau*s+1) %Crea modelo del amplificador
Circuitos (2do orden)
Modelos en MATLAB
%Modelos de Segundo Orden
s = tf('s');
R1=20e+3; %R del circuito doble malla RC, R1=20k
C1=0.04e-3; %C del circuito doble malla RC, C1 = 0.04mF
R2 = 50e+3; %R del circuito doble malla RC, R2 = 50k
C2 = 0.13e-3; %C del circuito doble malla RC, C2 = 0.13mF
%Factor de Amortiguamiento y frecuencia natural
dseta=(R1*C1+R2*C2+R1*C2)/(2*sqrt(R1*C1*R2*C2));
omega = 1/sqrt(R1*C1*R2*C2);
DobleRC_sys=omega^2/(s^2+2*dseta*omega*s+omega^2)
L = 0.8; %Inductancia del circuito LRC, L = 0.8H
R = 8.33; %Resistencia del circuito LRC, R = 8.33
C = 20e-3; %Condensador del circuito LRC, C = 20mF
LRC_sys = C*s/(L*C*s^2+R*C*s+1) %Crea modelo del LRC
Aplica seal estndar

Como seales estndar se puede utilizar el escaln y el impulso


unitario:

step(RC_sys); %Respuesta al escaln unitario


grid %Grilla en la grfica
impulse(DobleRC_sys, 60); %Respuesta al impulso, tf = 60s

Para estas seales existe una herramienta grfica que permite


encontrar parmetros importantes de la respuesta en el tiempo
de manera bastante sencilla:

ltiview(LRC_sys) %Lanza LTI Viewer en MATLAB


LTI Viewer
Seal arbitraria
Por otro lado, es posible generar seales de entrada arbitrarias para
estimular sistemas con la instruccin lsim:

t = 0:0.01:100; %Define vector de tiempos


u = t; %Define seal a aplicar
lsim(Opamp_sys,u,t) %Aplica seal
u = exp(-t/20);
lsim(LRC_sys,u,t)
u = 10*sin(t/2+pi/6);
lsim(RC_sys,u,t)
Tdi = round(0.5*rand*length(t));
Tdc = round(0.5*rand*length(t));
u = [zeros(1, Tdi) ones(1, Tdc) zeros(1,length(t)-Tdi-Tdc)];
lsim(DobleRC_sys,u,t)
Espacio de estados
Dado un modelo de sistema en representacin de espacio de
estados, este se puede ingresar a MATLAB con ayuda de la
instruccin: ss.

Ejemplo: Para el sistema:

A = [0 1; -5 -2];
B = [0 ; 3];
C = [0 1];
D = 0;

sys = ss (A, B, C, D) %Define modelo en espacio de estados


Ejemplo: Motor DC

Dado el modelo de un motor DC estudiar su respuesta en el


tiempo.
Modelo matemtico
El modelo matemtico de un motor DC viene dado por:

Donde:
x1: ngulo del eje,
x2: velocidad del eje,
x3: corriente de armadura,

Entrada al sistema u: ea.


Salida del sistema: y = [x1 x2 x3]
Parmetros del motor

Se han considerado los siguientes parmetros de construccin


del motor:

R = 1.0; %Resistencia del circuito RL


L = 0.5; %Inductancia del circuito RL
Kt = 0.01; % Torque generado por corriente N.m/A
Kth = 0.01; % Fuerza contra-electromotriz V/rad/s
Bf = 0.1; % Friccin mecnica N.m.s
J = 0.01; % Momento de inercia del rotor kg.m2
Matrices del modelo

%Matriz de estado
A = [0 1 0; 0 -Bf/J Kt/J; 0 -Kth/L -R/L ];
%Matriz de entrada
B = [0 ; 0 ; 1/L];
%Matriz de salida
C = eye(3); %Matriz identidad
%Matriz de transferencia directa
D = 0;

sys = ss (A,B,C,D) %State-Space Model


Respuesta en el tiempo

%Respuesta a condiciones iniciales


% x1(0) = pi/6, x2(0) = pi/3, x3(0) = 0.5
x0 = [pi/6 ; pi/3 ; 0.5]; %Vector columna

figure; initial (sys, x0) %Evala condiciones iniciales

%Entrada escaln unitario


figure; step (sys, 20) %Simula hasta t = 20 s

%Entrada impulso unitario


figure; impulse (sys, 10) %Simula hasta t = 10 s
Respuesta al escaln
Respuesta forzada
Si queremos aplicar una seal arbitraria, tiene que crearse con
vectores.

f = 1; %Frecuencia: 1Hz
T = 1/f; %Perodo
t = 0:T/1000:T; %Vector de tiempos
u = 12*sin (2*pi*f*t); %Seal de voltaje
figure; lsim (sys, u, t) %Aplica seal arbitraria

En lsim para facilitar la visin de la respuesta del sistema, se


puede omitir mostrar la seal de entrada aplicada. Para esto,
hacer click derecho en cualquier punto de la grfica, seleccionar
Show Input y quitarle el check.
Ejercicio: Anlisis

Investigue las instrucciones: stepinfo y lsiminfo, explique su


funcionamiento y muestre un ejemplo para cada una de ellas.

Las instrucciones: rlocus y bode pueden recibir varios


argumentos como entrada (no slo una F.T.). Investigue su
uso y muestre su aplicacin con ejemplos.
Ejercicio: Sistema de suspensin

El sistema de suspensin de la figura tiene como entrada el


nivel de la superficie de la pista y la posicin vertical del
vehculo como salida. Su funcin de transferencia se muestra
a continuacin:
Condiciones del problema

Para el sistema de estudio considere lo siguiente:


m1 = 500 kg, m2 = 100 kg
k1 = 2000 N/m, k2= 104 N/m
b = 1000 N.s/m

Una superficie particularmente agreste puede aproximarse por una


funcin del siguiente tipo:

Determine el valor de f de tal forma que la amplitud de la


respuesta inducida en y(t) sea 10% de la amplitud en r(t).
Ejercicio: Respuesta de sistema
Considere el siguiente
sistema SIMO:

Investigue cmo se
puede representar
este sistema en MATLAB y
consiga su respuesta
en el tiempo a una
seal cuadrada,
tal como se muestra
en la figura.
Ejercicio: Motor DC

Explique en un prrafo sus observaciones y conclusiones sobre


las diferentes respuestas en el tiempo obtenidas del motor DC
desarrollado en clase.

Encuentre la respuesta en el tiempo del motor ante un estmulo


tipo triangular y trapezoidal.
Ejercicio: Sistema de nivel

El sistema mostrado tiene como objetivo regular el nivel de un


tanque mediante el accionamiento de vlvulas.
Ecuaciones del sistema

La entrada del sistema es el voltaje de alimentacin del


circuito ei, mientras que la salida es el nivel h(t).

Las ecuaciones que describen el sistema vienen dadas por:


Parmetros

Resistencia del motor, Ra = 10


Constante del par, ki = 10 N.m/A
Constante de fuerza, kb = 0.0706 V.s/m
Inercia de carga: JL = 10 kg.m2
Ganancia del amplificador, ka = 50
Inductancia del motor, La = 0.5 H
Inercia del motor, Jm = 0.005 kg.m2
Relacin de engranes, n = 1/100
Carga y friccin del motor: despreciable
Area del tanque, A = 50 m2
Flujo en tanque

El nmero de vlvulas conectadas al tanque desde el recipiente


es N = 10. Todas las vlvulas tienen las mismas
caractersticas y son manipuladas simultneamente por c.

Las ecuaciones que gobiernan el flujo vienen dadas por:


Respuesta en el tiempo

Donde:
kl = 10 m3/s
ko = 50 m2/s
N = 10

Considerando que las variables de estado son:

Encuentre el modelo del sistema en espacio de estados y


encuentre el nivel del tanque ante diversos tipos de estmulos en
el voltaje de entrada.
SISOTOOL
SISOTOOL
Introducir la planta:
>> s = tf('s');
>> planta = (s + 7)/(s*(s + 5)*(s + 15)*(s + 20));

Ingresar a la aplicacin:
>>sisotool
SISOTOOL